일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- tcp
- AWS
- airflow
- Python
- MAC address
- log
- Vision
- java
- grafana
- Packet
- Operating System
- Spring
- docker
- aws s3
- kubeadm
- ip
- jvm
- JavaScript
- Kafka
- zookeeper
- kubectl
- OS
- CSV
- PostgreSQL
- CVAT
- helm
- Network
- kubernetes
- EC2
- Trino
Archives
- Today
- Total
JUST WRITE
Spring Bean 본문
Spring Bean
Spring IoC Container에서 생성, 관리하는 Java 객체를 Bean이라고 한다.
(Bean Facotory는 Spring IoC를 담당하는 핵심 Container이다)
Spring Bean은 Spring Framework에서 중요한 컨셉중의 하나이다.
Spring Offical Document에서는 아래와 같이 정리하였다.
In Spring, the objects that form the backbone of your application and that are managed by the Spring IoC container are called beans. A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container.
Spring Bean을 이해하려면 IoC에 대한 이해가 필요하다.
Bean 설정
@Component 라는 Annotation을 통해 Bean을 정의한다.
@Component
public class Company {
// this body is the same as before
}
IoC Container에서 Company Class를 생산하도록 Metadata를 설정한다.
@ComponentScan 이라는 Annotation을 통해 IoC Container가 어느 지점에서 Bean을 검색할지 지정한다.
@Configuration
@ComponentScan(basePackageClasses = Company.class)
// Company Class가 속한 패키지에서부터 Bean 검색
public class Config {
@Bean
public Address getAddress() {
return new Address("High Street", 1000);
}
}
IoC Container에서 Bean을 생성하고 초기화 작업까지 진행한다.
따라서 우리는 별도로 Bean 생성할 필요가 없다.
IoC Container에서 getBean() Method로 원하는 Bean을 가져올 수 있다.
// IoC Container
ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
// Bean 호출
Company company = context.getBean("company", Company.class);
[주요용어]
Spring IoC를 담당하는 핵심 Container
Bean 등록, 생성, 조회, 부가적인 Bean을 관리한다.
보통 BeanFactory를 바로 사용하지 않고 확장한 ApplicationContext를 사용한다.
해당 Interface에서는 대표적으로 getBean() Method가 정의되어 있다.
[참고사이트]
728x90
반응형
'Programing > Spring' 카테고리의 다른 글
MappingJackson2JsonView (0) | 2021.10.09 |
---|---|
Singleton Registry (0) | 2021.10.02 |
Bean LifeCycle (0) | 2021.09.29 |
Spring Bean Scopes (0) | 2021.09.28 |
IoC / DI (0) | 2021.09.26 |
Comments