Spring Core 모듈의 주요 Annotation
https://docs.spring.io/spring-framework/reference/
1. 계층 구성 어노테이션
@Controller, @Service, @Repository, @Component @RestController(Controller와 ResponseBody결합)
클래스가 웹서비스에서 Controller/Service/Repository 등의 "역할"을 함을 의미하는 주석.
component-scan에 의해 servlet이 관리하는 bean객체로 등록된다
2. 자동 의존성 주입 어노테이션
1. @Autowired
IOC Container에의해 관리되는 bean객체를 주입받는 어노테이션.
root-context.xml에서 설정한 모든 bean객체와, servlet-context.xml에서 설정한 bean객체. 내장 bean객체등 IOC Container 내부의 다양한 Bean객체를 주입받을 수 있다.
@Autowired private MemberService mService; // 필드방식 의존성 주입 //@Autowired 클래스내에 생성자가 1개뿐이라면 @Autowired어노테이션 생략 가능 public Member(MemberService mService){ // 생성자방식 의존성 주입(권장) this.mService = mService; } @Autowired public void setMemberService(MemberService mService){ // setter방식 의존성 주입 this.mService = mService; }
2. @ Value
프로퍼티에 값을 주입하기 위해 사용하는 어노테이션
3. 기타 어노테이션
@Qualifier @ Inject @Resource (이름기반 자동주입)
3. 빈 등록 및 설정 어노테이션
SpringBoot와 같이 java class기반 스프링 프레임워크 설정시 사용되는 어노테이션들로, 현재 레거시에서는 사용하지 않는다.
1. @Configuration
클래스가 스프링 설정 클래스임을 의미
내부에 @Bean을 사용하여 Bean을 등록할 수 있다.
ApplicationContext에 의해 스프링 설정 클래스로 인식된다.
스프링 설정 xml파일의
<beans >태그의 역할을 한다.
2. @Bean
메서드에 붙일 수 있는 어노테이션으로, 반환 되는객체를 빈으로 등록해주는 기능을 한다
메서드의 이름이 Bean객체의 이름으로 사용된다.
EX)
3. @ComponentScan
< context:componentscan>의 역할을 대신하는 태그.
어노테이션이 설정된 하위 패키지의 클래스를 스캔한다.
Last updated