Rlog

기존에 있던 Object 를 Bean 으로 등록하는 방법 본문

Spring

기존에 있던 Object 를 Bean 으로 등록하는 방법

dev_roach 2022. 4. 5. 23:37
728x90

Spring Bean 은 MetaData 정보를 가지고 저장되는데 해당 정보를 나타내는 클래스는 BeanDefinition 이다. 
가지고 있는 MetaData 정보는 아래와 같다.

  - package-qualified Class Name
  - IoC Container 내에서의 Spring Bean 동작 요소 (LifeCycle, Scope, etc..)
  - 의존성을 지니고 있는 다른 Bean 과의 관계
  - 새롭게 만들어질 Bean 에 적용될 Configuration 정보들 (Hibernate Connection Pool Size 과 같은 것들)

즉, IoC Container 에서 해당 Bean 을 어떻게 생성해야 할지 정보를 적어 놓는 것이다. 
부가적으로 ApplicationContext 에서는 사용자가 생성한 Object 또한 Bean 으로 등록하는 것을 허용한다. 
getBeanFactory() 를 받아서 registerSingleTon() 등을 이용하여 등록 가능하다. 

DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) applicationContext.getAutowireCapableBeanFactory();

defaultListableBeanFactory.registerBeanDefinition(//something Bean Definition);
defaultListableBeanFactory.registerSingleton("test01", new Test01());

 

작성한 위키 : http://roach-wiki.com/doku.php?id=bean-metadata

 

bean-metadata [Roach'Wiki]

 

roach-wiki.com