일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- 자바공부
- 스프링부트
- 스프링 공부
- Flutter
- nestjs공부
- K8S
- nestjs스터디
- 기술면접공부
- 코테준비
- JPA
- 플러터 개발
- 플러터 공부
- 카프카
- 코테공부
- Kafka
- 알고리즘공부
- querydsl
- JPA스터디
- JPA예제
- 프로그래머스
- 자료구조공부
- 스프링부트공부
- JPA 공부
- 기술공부
- 스프링공부
- Axon framework
- DDD
- nestjs
- JPA공부
- Today
- Total
DevBoi
[Spring] xml config 방식에서 어노테이션 방식으로 변경 본문
기존에는 xml에서 특정 빈에 대한 설정을 하고, 해당 설정을 통해서 관리가 되었다.
해당 xml에서 빈을 생성하고, set으로 특정 빈을 넣고, 그리고 리스트 형식으로 넣기도하고 등등
이방식에서 어노테이션 방식으로 편하게 변화했기 때문에 해당 내용으로 변경해보자
쉽게 말하면 , config 파일을 xml 파일이 아닌, 자바 파일로 설정하는 것이다.
이런식으로 하면, 우선 빈이 생성된다.
단 주의 점이, @Bean에서의 생성자는 예를 들면
exam() <-> exam이 bean id가 되는 것이다. 쉽게 말하면 bean어노테이션으로 붙으면 메소드 명이 bean id 가 되고, 명사형이 아니다.
우선 config 파일을 바꿨다. 기본 생성자가 아닌, console에서는 exam이 필요하기 때문에 해당 autowired를 해주는 것으로 빈을 생성했고, 해당 GridConsole의 빈 아이디에 맞춰서 작성을 다시 했다.
xml을 주석 처리, annotationCOnfigapp으로 내용을 변경했다.
이부분의 console2를 3이나 다른 이름 으로 바뀌게 되면 에러가 난다
왜냐면 bean에서는 특정 빈을 만드는 역할을 하는데, 해당 빈의 id는 config 파일에서 이미 console2로 지정했기 때문이다(메소드 명은 명칭이 아니라 bean id 이다.)
따라서, Gridconsole에 대한 component명칭을 console2로 맞추어야 정상적으로 해당 클래스 파일이
빈에 등록이 된다.
추가로, 해당 config 파일을 appcontext에 등록하는 방법은 저렇게 register로 , 구분자로 복수개 선택이 가능하기도하다. (참고)
'Develop > [Spring]' 카테고리의 다른 글
[Spring] AOP 관련 공부 및 간단한 AroundAdvice 인터셉터 구현 (0) | 2022.03.02 |
---|---|
[Spring] Bean의 존재 이유와, DI 의 개념 (0) | 2022.03.01 |
[Spring] ComponentScan 및 Component (0) | 2022.02.25 |
[Spring] Autowired 어노테이션의 장점 (0) | 2022.02.25 |
[Spring] DI 관련 예제 (0) | 2022.02.23 |