본문 바로가기

SpringFramework Core - I. IoC 컨테이너/11. JSR 330의 표준 어노테이션들 사용하기

(4)
11.3. JSR-330 표준 어노테이션들의 한계 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-standard-annotations-limitations 표준 어노테이션으로 작업을 할 때는 몇 가지 중요한 기능들을 사용할 수 없다는 점을 알고 있어야한다. 다음 표를 보자. 스프링 javax.inject.* javax.inject 제한 / 코멘트 @Autowired @Inject @Inject는 'required' 속성이 없음. 대신에 자바 8의 'Optional'을 쓸 수 있음. @Component @Named / @ManagedBean JSR-330은 구성이 가능한 모델을 제공하지 않음. 이름으로만 컴포넌트들을 식별할 ..
11.2. @Named와 @ManagedBean : @Component 어노테이션에 대응하는 표준 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-named @Component 대신에 @javax.inject.Named나 javax.annotation.ManagedBean을 사용할 수 있다. 다음 예시를 보자. import javax.inject.Inject; import javax.inject.Named; @Named("movieListener") // @ManagedBean("movieListener")도 물론 사용가능하다. public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public ..
11.1. @Inject와 @Named로 의존성 주입하기 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-inject-named @Autowired 대신에 @javax.inject.Inject를 다음과 같이 사용할 수 있다. import javax.inject.Inject; public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } public void listMovies() { this.movieFind..
11. JSR 330 표준 어노테이션 사용하기 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-standard-annotations 스프링 3.0을 사용하게 되면, JSR-330 어노테이션(의존성 역전)의 지원을 받을 수 있다. 이 어노테이션들은 스프링 어노테이션들과 같은 방법으로 스캔된다. 이 어노테이션들을 사용하기 위해서는 클래스패스에 관련 jar 파일들을 가지고 있어야 한다. ※ 메이븐을 사용한다면, 'javax.inject'를 표준 메이븐 저장소로부터 사용할 수 있다(https://repo1.maven.org/maven2/javax/inject/javax.inject/1/). 따라서 다음 의존성을 pom.xml에 ..