주석을 사용하여 이름별 스프링 빈 자동 배선
Springs 최신 버전에서는 주석을 사용하여 빈을 자동 배선할 수 있습니다.@Autowired
이렇게 하면 유형(또는 생성자(적용된 경우)을 사용하여 콩을 자동으로 배선합니다.제가 사용할 수 있는 방법이 있습니까?@Autowired
주석은 Spring의 XML 파일에서 주석 없이 수행하던 bean 이름을 autowire="byName"으로 기반으로 합니까?
사용할 수 있는 항목:
@Autowired
@Qualifier("beanname")
@Qualifier javadoc에 따르면
이 주석은 자동 배선 시 후보 원두의 한정자로 필드 또는 매개 변수에 사용할 수 있습니다.
JSR-250을 사용할 수 있습니다.@Resource
생성자 주입 또는 다중 매개 변수 메소드 주입이 필요하지 않은 경우를 제외하고는 바이네임 빈 자동 배선에 사용됩니다.
문서에서:
주석 기반 주입을 이름으로 표현하려면 기술적으로 @Qualifier 값을 통해 빈 이름을 참조할 수 있는 경우에도 @Autowired를 주로 사용하지 마십시오.대신 JSR-250 @Resource 주석을 사용합니다. 이 주석은 고유한 이름으로 특정 대상 구성 요소를 식별하도록 의미적으로 정의되며 선언된 유형은 일치 프로세스와 관련이 없습니다.
DI 컨테이너에 등록할 빈의 이름을 정의하려면 주석 자체에 @Service("employeeManager")와 같이 이름을 전달할 수 있습니다.
그런 다음 아래 코드를 사용하여 이름별로 자동 배선을 활성화할 수 있습니다.
@Autowired
@Qualifier("employeeManager")
private EmployeeManagerService employeeManagerService;
나는 이름으로 자동 배선을 엉망으로 만드는 빈 네임 프록시를 사용하고 있었습니다.@리소스는 종류를 신경 쓰지 않기 때문에 그런 문제가 없었습니다.그래서 이제 스프링 개발자들이 추천하는 한 가지 이유를 알게 되었습니다 :-) 그냥 참고하세요.
빈의 Java 클래스 정의에 @Component("beanname") 사용
그런 다음 자동 배선 중에 JSR 330을 사용합니다.
@Inject @Named(값="beanname")
언급URL : https://stackoverflow.com/questions/11831261/autowiring-spring-bean-by-name-using-annotation
'programing' 카테고리의 다른 글
UI 탭 표시줄의 색조/배경 색상 변경 (0) | 2023.08.09 |
---|---|
lodash를 사용하여 Array에서 객체를 찾고 반환하는 방법은 무엇입니까? (0) | 2023.08.09 |
신속한 코드 실행의 시작점은 무엇입니까? (0) | 2023.08.09 |
PHP MYSQL 중첩된 json으로 OneToMany 선택 (0) | 2023.08.09 |
CSS 선택기/HTML 속성에 대시가 선호되는 이유는 무엇입니까? (0) | 2023.08.04 |