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
728x90
'Spring' 카테고리의 다른 글
Spring-Cloud-Sleuth 비동기 요청시 서버간 TraceId 보존하는 방법 (0) | 2022.04.27 |
---|---|
오늘자 삽질 - Spring Kafka (1) | 2022.04.13 |
[JPA] Transactional read only 일때 성능상 이점 (0) | 2022.03.21 |
Kotlin Spring 에서 Required = false 대신 ?(nullable) 을 사용가능한 이유 (0) | 2022.03.17 |
Hibernate 1 차 Cache 에 대해서 알아보자 (0) | 2022.03.10 |