운동가따온다고 저녁공부를 조금바께 못했습니다 ㅜ
@Bean, @component를 알아봤습니다.
@Configuration도 같이 해서 공부할라고했는데
졸려서 못하겠네요
일단
bean, component 둘다 컨테이너에 빈을 등록하도록 하는 어노테이션입니다.
bean은
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
메소드나 클래스에서만 써야한다고 되어있습니다.
component는
@Target({ElementType.TYPE})클래스에서만 사용가능하네요
둘다 같은 일을 수행하지만 쓰는상황이 다르다고 나와있습니다.
@Bean은 외부라이브러리를 빈으로 만들어서 컨테이너에 등록할때 쓰고
@Component는 직접 제어가능한 class들을 빈으로 등록 한다고 되었네요
스프링사이트에서 따온건아니지만 블로그에 직접 제어가능한 class들 이라고 적혀있는데
제어할수없는 class도 있나봅니다.
30분정도 폰좀보다가 자고 내일아침 다시 공부시작하겠습니다.
끝
===========================================
+
빈과 컴포넌트 정리좀 할려고 다른 게시글 보니 상황에 대해서 예시가 있네요
ObjectMapper라는 클래스가 있는데 여기에는 @Component를 달수없다고합니다.
외부라이브러리에서 가져온것들은 제어할수없나봐요(제어하다의 의미가 뭔지는 모르겠네요.)
여튼 어노테이션은 일단 달아야하니 빈어노테이션도 클래스에 달수있다는데
ObjectMapper라는 클래스에 직접가서 달려고하는데
뜨지가않네요 라이브러리가 없나봅니다 그래서 그냥 다른 외부라이브러이 클래스에
직접들어가 적을려고하니 리드온리네요
제어한다는 의미를 알았습니다.
그래서 클래스에 달수없으니 외부클래스 인스턴스를 생성하는 메서드에(생성삭제 다른거에도 달아지나 확인해봐야겠습니다.)
@Bean을 달면 될거같네요
일기는 일기장에
무시하시면 됩니다