직접 스프링 빈 등록하기 관련 질문
자바 코드로 직접 스프링 빈 등록하기에서 SpringConfig 파일에 코드를 작성하시는 부분을 보다가 궁금한게 생겨서 질문합니다.
스프링 컨테이너에 빈을 등록한다는 것은 등록하고자하는 클래스의 실제 객체, 즉 인스턴스를 하나 생성하여 관리한다는 것으로 이해했는데요.
그럼 @Bean annotation을 붙이는 것은 빈으로 등록하겠다는 것을 명시하는 것을 나타내는 것 같은데, 꼭 메서드 형식으로 작성을 해야하는 것인가요?
예를 들어, 강의에 적혀있던 메서드 대신
@Bean
public MemberService memberService = new MemberService();위와 같이 변수 형태로 선언하면 안되는 것인가요?
답변 1
-1
메서드로 정의할 경우 메서드 안에서 동작을 추가적으로 정의할 수 있습니다.
가령 빈으로 등록될 때 출력문으로 확인하고 싶다면
public MemberService memberService() {
System.out.println("memberService 빈 등록");
return new MemberService();
}물론 이것은 메서드로 했을 시의 특징이라 할 수 있고, 말씀하신 방법은 아쉽게도 스프링에서 지원하지 않는 것으로 알고 있습니다.
.
감사합니다.
0
질문에 대한 답변 감사합니다.
메서드로 정의할 경우에 추가적인 동작을 수행시킬 수 있는 것은 알겠는데,
빈을 등록하기 위해 메서드로 정의를 하는 방식이 스프링에서 정한 규약이라고 생각하면 될까요?
DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등
0
91
2
수업자료 오타
0
80
2
HelloSpringApplication.java 클래스 실행 오류
0
90
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
110
1
스프링 부트 버전 질문
0
231
2
인텔리제이 오류
0
181
1
..
0
200
2
Unused property.....
0
219
2
project JDK is misconfigured
0
282
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
161
2
단위/통합 테스트 버전충돌 문제
0
173
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
338
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
183
2
윈도우 build test오류 질문
1
213
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
180
2
테스트 실행 시 에러 질문
0
470
1
name을 통한 비교와 객체를 통한 비교
0
127
1
빌드 후 libs 없음
1
228
1
윈도우 gradlew.bat 에러
0
318
1
@PostMapping("/members/new")가 동작하지 않습니다
0
168
1
java static class와 kotlin class
0
138
1
스프링 DB연결
0
201
1
소요 시간
0
143
2
ddl.sql에 빨간 밑줄
1
182
2





