구성 요소 스캔을 사용하는 경우 지금 XML 구성에서 스캔 경로를 지정해야합니다.
<context : component-scan back-package = "yangjq.test">
컨테이너 인스턴스화는 Yangjq.test 패키지 및 하위 포장에서 모든 구성 요소 클래스를 스캔합니다.
구성 요소 클래스 정의가 다음 주석 마크가 선행 될 때만 이러한 구성 요소 클래스는 스프링 컨테이너로 스캔됩니다.
- @component 일반 주석
- @Name 일반 주석
- @repository 지속성 계층 구성 요소 주석
- @Service 비즈니스 계층 구성 요소 주석
- @Controller 제어 레이어 구성 요소 주석
이름
구성 요소는 스캔 프로세스 중에 기본 ID 값 (소문자로 시작하는 클래스 이름)을 생성합니다. 이것은 다음과 같은 주석 마크에서 사용자 정의 할 수 있습니다.
// 이것은 기본 ID입니다. 값은 oracleUserDao@repositorypublic 클래스 OracleUserDao userDao {} // 사용자 지정 ID입니다. 값은 loginservice@service ( "loginservice") public userservice {}입니다.구성 요소 범위
스프링 관리 구성 요소의 기본 범위는 "Singleton"입니다. 다른 범위가 필요한 경우 @Scope 주석을 사용할 수 있습니다. 주석에 스코프 이름을 제공 할 수 있습니다.
@Scope ( "프로토 타입")@repositorypublic 클래스 OracleUserDao userDao {}초기화 및 파괴
@PostConstruct 및 @PredEStroy 주석 태그는 초기화 및 파괴 콜백 방법을 지정하는 데 사용됩니다.
public class examplebean {@postconstruct public void init () {// ......... 초기화} @predestroy public void destroy () {// destroy}}의존성 주입 관계가있는 콩에 대한 주석
다음 중 하나를 사용하여 관계형 주입을 구현할 수 있습니다.
- @Resource
- @autowired/ @Qualifier
- @inject/ @name
일반적으로 @Resources가 많이 사용되므로 @Resource에 대해 이야기 해 봅시다. 다른 사람을 사용하는 경우 검색하고 읽으십시오.
@Resource 주석 태그는 필드 정의 또는 세터 메소드 정의 전에 사용할 수 있습니다. 기본적으로 첫 번째 매치 주입은 이름으로 사용 된 다음 매치 분사를 입력합니다.
공개 클래스 userserivce {//@resource 개인 userdao userdao; @resource // setter 메소드 public void setuserdao (userdao dao) {this.userdao = dao;}} 선행하는 데 사용됩니다.여러 개의 일치하는 콩이 발생하면 오류가 발생합니다. @Resource (name =”emablepledao”)와 같은 이름을 명시 적으로 지정할 수 있습니다.
요약
위의 내용은 주석 기반 구성 요소 스캔에 대한 자세한 설명이며 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!