DevBoi

[Spring] xml config 방식에서 어노테이션 방식으로 변경 본문

Develop/[Spring]

[Spring] xml config 방식에서 어노테이션 방식으로 변경

HiSmith 2022. 2. 25. 16:38
반응형

기존에는 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로 , 구분자로 복수개 선택이 가능하기도하다. (참고)

 

반응형