일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Immutable
- String
- Spring
- lambda
- 자바
- java
- IOC
- 클린코드
- 컴퓨터시스템
- 프록시
- 링커
- 토비의스프링
- exception
- AutoConfiguration
- ORM
- 메이븐
- Kotlin for Java Developers
- gradle
- 링킹
- beanfactory
- FunctionalInterfaces
- springwebmvc
- DesignPattern
- hibernate
- JPA
- DispatcherServlet
- 토비의스프링3.1
- ApplicationContext
- springboot
- 빌드툴
- Today
- Total
목록토비의스프링 (2)
엔지니어로 가는 길
많은 경우 component scan을 통해서 자동으로 빈 등록이 이루어지지만 때로는 직접 @Bean 어노테이션을 통해 빈으로 등록해야할 때가 있다. @Bean 어노테이션을 통해 빈으로 등록할 때 주의해야 할 점에 대해 살펴본다. @Configuration 클래스와 @Bean 먼저 @Configuration 어노테이션이 붙은 설정 전용 클래스 안에서 @Bean 어노테이션을 통해 빈으로 등록하는 경우이다. @Bean이 붙은 메소드는 기본적으로 싱글톤이기 때문에 여러 번 호출돼도 하나의 객체만 리턴되는 것이 보장된다. 보통의 클래스라면 메소드가 이렇게 동작하지 않는다. 정직하게 작성된 대로 동작한다. 코드가 new MyBean()이라고 적혀 있으면, 호출될 때마다 객체가 생성된다. 따라서 @Configura..
빈을 생성하는 방법: 리플렉션 + 디폴트 생성자 스프링의 빈은 기본적으로 클래스 이름과 프로퍼티로 정의된다. 스프링은 내부적으로 리플렉션 API를 이용해서 빈 정의에 나오는 클래스 이름을 가지고 디폴트 생성자를 통해 빈 오브젝트를 생성한다. 클래스의 이름만 알고 있어도 다음과 같이 리플렉션을 통해 오브젝트를 생성할 수 있다. 이외에도 빈을 만들 수 있는 여러 방법이 있는데 그중 하나인 FactoryBean에 대해 살펴보자. 빈을 생성하는 방법: FactoryBean FactoryBean이란 스프링을 대신해서 오브젝트의 생성 로직을 담당하도록 만들어진 특별한 빈이다. FactoryBean을 통해 빈을 생성하는 방법을 살펴보기 전에 어떤 경우에 FactoryBean을 써야 하는지 생각해보자. 클래스 정보를 ..