[Spring] 0721 정리

charco·2021년 7월 21일
0

토비스프링

목록 보기
10/11

  • 스프링 3.1부터 XML을 전혀 사용하지 않고도 스프링 애플리케이션을 만들 수 있게 됨

  • @ImportResource("xml") -> 자바 클래스로 만들어진 DI 설정 정보에서 XML의 설정 정보를 가져옴

  • <context:annotation-config> -> 에 의해 등록되는 빈 후처리기가 @PostConstruct 와 같은 애노테이션을 인식해 자동으로 메서드 실행

  • @Configuration -> 이 붙은 설정 클래스를 사용하는 컨테이너가 직접 @PostConstruct 애노테이션을 처리하는 빈 후처리기를 등록해줌

  • 에 넣은 클래스는 굳이 public 이 아니어도 됨. 내부적으로 리플렉션 API를 이용하기 때문에 private로 접근을 제한해도 빈의 클래스로 사용할 수 있음

  • XML과 자바클래스를 동시에 DI정보로 사용하는 경우 자바 코드에서 XML에 정의한 빈을 사용하려면? - > @Autowired로 XML빈을 주입받으면 됨

  • @Resource 와 @Autowired 의 차이
    @Resource 는 필드 이름을 기준으로 lookup
    @Autowired 는 필드 타입을 기준으로 lookup

  • 스프링 3.1부터 복잡한 로우 레벨의 빈을 등록해주는 전용 태그에 대응되는 애노테이션을 제공해줌

  • @Autowired 가 붙은 수정자 메서드가 있으면 파라미터 타입을 보고 주입해줌.

  • @Component 가 붙은 클래스는 빈 스캐너를 통해 자동으로 bean 으로 등록됨

  • @Component 는 빈으로 등록될 후보 클래스에 붙여주는 일종의 마커

  • 메타 애노테이션 -> 애노테이션의 정의에 부여된 애노테이션

  • @Repository -> @Component 를 메타 애노테이션으로 갖고있음
    스프링은 DAO기능을 제공하는 클래스에는 이걸 붙히도록 권장함

  • 서비스 계층은 트랜잭션 경계가 되는 곳이라 @Transactional 이 함께 사용되는 경우가 많음

  • @Import -> 자바 클래스로 된 DI설정 정보를 가져올때 씀

  • @Profile("프로파일 이름") -> 현재 컨테이너의 활성 프로파일 목록에 자신의 프로파일 이름이 없으면 무시됨

  • @ActiveProfiles("프로파일 이름") -> 프로파일을 활성 프로파일로 사용하게 해줄 수 있음.

    간단히 말해 @Profile("test") 라고 설정 클래스에 붙어있고
    클래스에 @ActiveProfiles("test")가 붙어있으면 해당 설정이 적용됨.

profile
아직 배우는 중입니다

0개의 댓글