스프링- @Component / @Configuration

Shaun·2021년 10월 15일
0

스프링

목록 보기
2/6

@Component

  • 간단히 말해 XML Bean 태그 안에 객체 생성부분을 대체하는 애노테이션이다.

  • 스프링이 생성하지도 관여하지도 않고 이러한 이유로 XML 안을 들여다 볼 이유가 없다.

  • 그래서 여기서 중요한점은 Autowired 처럼 Component 애노테이션을 읽는 설정을 따로 해줘야한다.( component-scan 부분)

  • 이 설정을 하면 안에있던 @Autowired 도 읽어버려서 @Autowired를 읽어줘 라고 작성한 코드 (config) 를 지워도 괜찮다.

  • xml할떄는 id를 부여했지만 Component("객체이름") 을 넣는다

  • 또한 @value 어노테이션을 통해 필드 초기화가 가능하다.

  • 객체화 하고하자는 클래스가 어떤역활을 하는지 명시화 할수있어서 이 애노테이션 선언이 더 권장된다.

XML -> 자바클래스(@Configuration)

  • XML 을 애노테이션(@Configuration)을 이용해 자바 클래스로 만들어 준다.

  • 설정을 위한(XML) 자바클래스 표시 = @Configuration

  • xml에 있던 component scan 도 애노테이션 @ComponentScan("패키지명") 으로 바꿔준다.

  • bean 태그는 @Bean 애노테이션으로 바꿔준다.(Bean은 객체를 ioc에 담아주는 역활)

  • @Bean에 선언된 메서드는 함수명이라 생각하지말고 xml의 id값이라 생각하자

  • ApplicaitonContext를 무엇을 쓰느냐에 따라 xml을 쓸것인지 애노테이션을 쓸것인지 나뉘어진다.

  • AnnotationConfigApplicationContext(클래스이름.class)
    -> 클래스는 @Configuration 이 쓰여져 있는 클래스

profile
호주쉐프에서 개발자까지..

0개의 댓글