@Configuration
클래스 아래에 있는
@Bean
메소드와
@Configuration
annotation이 없는 클래스 에 있는
@Bean
메소드(lite @Bean 메소드)의 차이가 뭐임?
오늘 읽었는데
ㅅㅂ 이해가 안가네
@Configuration 하에
@Bean 메소드를 넣어야 되는 이유는 이해가 가는데
lite @Bean method가
factory method 가 된다는 게 뭔 소린지를 모르겠음
@Configuration
클래스 아래에 있는
@Bean
메소드와
@Configuration
annotation이 없는 클래스 에 있는
@Bean
메소드(lite @Bean 메소드)의 차이가 뭐임?
오늘 읽었는데
ㅅㅂ 이해가 안가네
@Configuration 하에
@Bean 메소드를 넣어야 되는 이유는 이해가 가는데
lite @Bean method가
factory method 가 된다는 게 뭔 소린지를 모르겠음
말 그대로 단순한 팩토리 메소드라고 ㅋㅋㅋ
그니까 그게 뭔소리야?
호출하면 빈이 생성되는 메소드
아 호출하기 전까지는 container에 빈이 없는데, 호출해야 빈이 생성되는 거?
이게 뭔소린가 계속 생각했네 ㄳㄳ
정확히는 빈이 생성되는게 아니라 해당 클래스의 객체가 생성되는거지 생명주기가 ioc 컨테이너에서 관리돼야 빈이니까
아니라고 시발ㅋㅋ 호출하지 마
빈은 메소드니까 메소드가 포함된 클래스가 @Configuration 클래스가 아니라면, 단순한 함수라는 거지?
ioc컨테이너에서 해당 메소드를 호출해서 빈으로 등록하긴 하겠으나, 니가 별도로 호출하면 빈이 아니라 새로 생성된 객체가 반환된다는거지
이새키 빈이 뭔지도 모르는거같은데 빈이 왜 메소드야
아 그니까 @Bean 을 넣는 이유가 DI를 하기 위해서 인데, @Configuration 클래스가 아닌 곳에서 @Bean을 하면, 의존성 주입이 안되니까 @Bean 메소드를 객체로 반환한다는 거임?
전제가 java based container configuration 임
어디다 선언하든 빈은 맞는데 메소드를 니가 직접 호출했을때 결과가 다르다고 configuration에 있는 빈 메소드를 호출하면 빈이 리턴되지만 다른데 있는 빈 메소드를 호출하면 새로 생성된 객체가 리턴된다고 빈 초기화 등의 작업도 없고 의존성 주입도 안돼있겠지