빈 생명주기 콜백
77
작성자 없음
안녕하세요 2회차 복습 중인데 빈 생명주기 콜백에서 궁금한 점이 있어서 질문을 드립니다.
강의에서 영한님께서 데이터베이스 서버가 뜨기전에 미리 연결하는 작업을 한다고 하셨습니다.
아직 데이터베이스에 관한 사전지식이 부족해서 그런지 모르겠습니다만,,,
애초에 그냥 객체를 생성할 때 생성자에 url을 넣으면 안되는 건가요..?
public class NetworkClient{
private String url;
public NetworkClient() {
System.out.println("생성자 호출, url = " + url);
connect();
call("초기화 연결 메시지");
}
public void setUrl(String url) {
this.url = url;
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 옙버디님.
빈 생명주기와 관련한 궁금증에 대해 답변드리겠습니다. 스프링에서 빈 생성과 초기화를 구분하는 이유는 객체가 실제로 사용되기 전에 다양한 설정이나 초기화를 수행하기 위함입니다.
질문 주신 내용에 대해 설명드리자면:
- 생성자에 url을 넣는 대신, 스프링의 빈 생명주기를 통해 의존관계 주입을 받는 이유는 빈이 생성되고 필요한 의존관계가 모두 주입된 후 초기화 작업을 하기 위해서입니다.
이를 이해하시는데 도움이 될 수 있는 몇 가지 유사 질문과 그 답변들을 아래에 공유드립니다:
-
- 초기화 작업은 무엇인지 설명한 내용입니다. 초기화는 객체를 사용하기 위해 준비하는 작업입니다. 의존관계 주입이 완료된 후 필요한 초기화를 진행하는 이유를 잘 설명하고 있습니다.
- 초기화 작업은 무엇인지 설명한 내용입니다. 초기화는 객체를 사용하기 위해 준비하는 작업입니다. 의존관계 주입이 완료된 후 필요한 초기화를 진행하는 이유를 잘 설명하고 있습니다.
-
- url 값이 null로 나오는 이유와 빈 생명주기 중 url을 설정하는 타이밍에 대해 자세히 설명한 답변입니다.
- url 값이 null로 나오는 이유와 빈 생명주기 중 url을 설정하는 타이밍에 대해 자세히 설명한 답변입니다.
-
- 빈 생명주기의 각 단계와 setUrl이 의존관계 주입 단계인지에 대해 설명한 게시물입니다.
- 빈 생명주기의 각 단계와 setUrl이 의존관계 주입 단계인지에 대해 설명한 게시물입니다.
핵심 요약:
- 빈 생명주기에서는 객체가 생성된 후 의존관계 주입이 완료되고 난 뒤에 초기화 작업이 수행됩니다.
- url과 같은 데이터를 의존관계 주입을 통해 설정하는 이유는 객체가 완전히 준비된 후 초기화 작업을 통해 안정적으로 서비스를 시작하기 위함입니다.
위 답변들이 도움이 되셨으면 좋겠습니다. 더 궁금한 점이 있으시면 이어서 질문해 주세요!
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
fieldInjectionTest() 질문
0
58
1
AutoAppConfig의 존재이유
0
52
1
AppConfig와 스프링 빈 질문
0
57
1
[영한님]Spring Boot 및 프로젝트 생성
0
124
2
퀴즈가 안열려요
0
104
2
회원 도메인 인터페이스 개발
0
114
2
빈 스코프 개념의 중요성
0
95
1
SingletonService가 JVM이 뜰 때 생성되는게 맞나요?
0
152
2
섹션3. 11 회원객체 다이어그램
0
81
1
OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.
0
78
1
코드 자료
0
137
2
구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?
0
134
2
MemberService의 인터페이스를 왜 사용하는지 궁금합니다.
0
148
1
롬복 @Setter를 써야 하는 상황이 있는건가요?
0
144
1
빈 등록 메서드의 파라미터가 빈이 아니어도 되나요?
0
139
1
테스트 속도가 나중에 영향이 있을까요?
0
128
1
gradle 설정 안떠서 질문 남깁니다!
0
266
2
build.gradle로 프로젝트를 여는 이유
0
162
1
provider 사용하는 이유
0
164
1
다음 강의 뭘 들어야 할까요
0
193
2
프로토타입 빈, 직접 destroy 호출 안 할 경우
0
114
1
beanB
0
135
2
퀴즈다시풀기
0
109
1
Gradle로 바꿔도 오류가 똑같이 발생하네요 ㅠㅠ
0
165
2





