일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 칵테일
- 폴라존
- 폴라로이드 수리
- 아이리쉬카밤
- SX-70 수리
- 푸어러
- 골드자동차유리
- 지거
- 홈텐딩에가니쉬는사치
- Java
- 올리는게늦어지네
- 잔을사야하나
- 홈텐딩
- 술먹고멘붕
- 뭐든공부가필요해
- 플로팅은어려워
- 카메라를꺼내자
- 바스푼
- 사진잘찍고싶다
- JAVA 강좌
- 자동차앞유리교체
- 스크류드라이브
- 홈텐딩세트
- 셰이커
- 얼음집게
- Autowired
- 칵테일이름은독특해
- 어술취
- 조심한다고될일일까
- 말많은거보니취했네
- Today
- Total
초리의 블로그
AnnotationConfigApplicationContext 본문
※ 토비의 스프링을 보고 학습한 내용을 정리해 놓은 것입니다. 따라서 책 내용과 거의 동일합니다.
저작권이나 기타 문제가 될 경우 조치하겠습니다. ※
Spring의 Bean과 Configuration을 이용한 객체 생성 및 메소드 호출을 해보겠습니다.
XML 설정을 이용하지 않고 자바소스만 이용한 방법입니다.
@Configuration : 빈 팩토리를 위한 오브젝트 설정을 담당하는 클래스
@Bean : 오브젝트를 만들어 주는 메소드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class DaoFactory { @Bean public UserDao userDao() { return new UserDao(connectionMaker()); } @Bean public ConnectionMaker connectionMaker() { return new ChoriConnectionMaker(); } } |
DaoFactory의 설정한 어노테이션들을 이용해서 ApplicationContext 생성하고, 객체를 생성해 볼게요.
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
...
public class UserTest {
public static void main(String args[]) throwsClassNotFoundException, SQLException{
ApplicationContext context =new AnnotationConfigApplicationContext(DaoFactory.class);
// UserDao dao = new DaoFactory().userDao();
UserDao dao = context.getBean("userDao", UserDao.class);
User user = new User();...
}
AnnotationConfigApplicationContext : @Configuration 어노테이션이 붙은 클래스를 설정 정보로 사용.
파라미터에 클래스를 여러개 넣을 수 있지만 지금은 DaoFactory만 사용한다.
getBean : ApplicationContext가 관리하는 오브젝트를 요청하는 메소드.
ApplicationContext에 등록된 빈 이름을 파라미터로 받음. (여기선 "userDao")
getBean은 Object를 리턴해주기 때문에 형변환을 해야 되는데, 두 번째 파라미터에 리턴 타입을 받음.
context.getBean("userDao") 로 사용하면 Object를 리턴
- 토비의 스프링 -
'Spring' 카테고리의 다른 글
스프링 시작하기. (Hello World를 출력해 봅시다.) (0) | 2017.09.02 |
---|---|
util:properties를 이용한 프로퍼티 사용 (0) | 2016.04.06 |
xml을 이용한 bean 설정 및 활용 (0) | 2016.02.14 |