2. 봄 - 노트
2.1. 주석 원칙
이 블로그의 원칙에 대한 참고 사항은 아주 잘 작성 https://www.iteye.com/blog/freewxy-1149128 , 나는 그것을 인용 :
주석 ( 주석 ), 비슷한 의견의 안전을위한 메커니즘을 제공 코멘트를 구문 분석에서 사용하는 우리가 다시 약간의 시간이 나중에이 데이터의 사용을 용이하게 할 수 있도록 코드에 정보를 추가 할 수 공식적인 방법을 (제공 이러한 데이터) 관련 프로그램 요소 (클래스, 메소드, 멤버 변수 등) 정보 또는 메타 데이터. 사실, 더 직관적이고 더 간단 설명,이 지침 정보와 비즈니스 로직은 중요하지 않습니다, 그리고 도구 나 프레임 워크의 사용을 지정합니다. 주석 패키지, 문 씌여 있기 타입 생성자 메소드, 멤버 변수, 파라미터와 지역 변수에 적용되는 수정 한 종류 등.
주석 인터페이스의 일종이다. 으로 자바 의 - 관련 반사 API 액세스하는 주석 정보를. 이 정보에 따라 관련 클래스 (클래스 프레임 또는 도구) 프로그램 요소를 사용하거나 자신의 동작을 변경하는 방법을 결정합니다. 자바 직장에서 통역이 무시 주석을 그렇게, JVM 이 주석이 있다 "효과"만이 주석 도구 지원을 통해 할 수 있습니다 정보 액세스 및 처리의 유형.
간단히 말해, 당신은 주석을 만들 수 있습니다 봄 주석 기반 구성의 제공, 구성 작업을보다 간결하게되었다 XML 대체 방법을.
2.2. 참고 기본 구성
참고 주입 XML은 주입 전에 수행. 따라서, 는 XML 구성 덮어 쓰기 주석 속성은 두 가지 방법으로 연결되어 있습니다.
크리에이트 봄 의 XML을 주석에 대한 구성 파일 및 오픈 지원을 , 당신은 더 많은 수입 제한 가져올 필요가 컨텍스트 제약 네임 스페이스를 .
<? XML 버전 인코딩 = "1.0"= "UTF-8" ?> < 콩 의 xmlns = "http://www.springframework.org/schema/beans" 의 xmlns : 컨텍스트 = "http://www.springframework.org/schema / 컨텍스트 " XMLNS : XSI ="http://www.w3.org/2001/XMLSchema-instance " XSI :의 schemaLocation ="http://www.springframework.org/schema/beans HTTP : //www.springframework. 조직 / 스키마 / 콩 / 스프링 beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd " >
<빈> .. . </ 빈>
</ 콩 >
인터페이스의 성격에 주석 전에 말했듯이 , XML의 내부에 주입 주석 콩, IOC의 순서로 컨테이너로드 주석에 대한 내용을 식별합니다. 우선, <컨텍스트 : 주석 -은 구성> 하는 어떤 컨텍스트 구성 공간 내재적 동등이 명령문을 사용하는 방법이 제공 스프링 등록 용기 . 4 번째 BeanPostProcessor를 :
AutowirdAnnotationBeanPostProcessor , CommonAnnotationBeanPostProcessor , 은 PersistenceAnnotationBeanPostProcessor , 하는 RequiredAnnotationBeanPostProcessor .
이 수 @Resource , @PostConstruct , @PreDestroy , @PersistenceContext , @Autowired , @Required 다른 특수 자동 주입.
다음 <컨텍스트 : 성분 주사베이스 - 패키지 = "..."> 성명 , 이외에 어노테이션 구성 기능 밖에 , 스캔 스캔 기본 패키지 패키지 주사 등록 자바 빈즈 . 와 동시에 @Component , @Service , @Repository , @Controller 객체는 다른 주석에 등록 스프링 용기
사용하는 경우 따라서, 상황을 : 구성 요소 스캔 후를 , 당신은 할 수 있습니다 상황 : 주석 - 설정이 제거.
주목할 점 가치가있다 주석 - 설정 , 기능 검사 패키지를 제공하는 사용하지 않는 @Component를 다른 주석 선언 빈이 만 객체 구성 요소 스캔 스캔하고 용기를 등록 할 수 있습니다.
세부 사항 참조 : https://www.cnblogs.com/zhangsonglin/p/11181064.html
2.3. 일반적인 노트
@구성 요소
구성주의에 대한 자원 스프링이 관리 할 수 있습니다. 등가 의 XML 구성의 하나의 빈 . 필수 <컨텍스트 : 구성 요소 자료 - 패키지 - 스캔 = "..."/> 카테고리 효과 스캔에 주석 ,
특성 :
값 : 지정 콩 의 위에서 언급 한 ID . 당신이 모르는 경우 값 속성을 기본 빈 의 ID는 클래스 이름의 현재 클래스입니다. 첫 글자를 소문자.
저장소 @ 컨트롤러 @ 서비스 @
컨트롤러 주석, 서비스 노트, 창고 노트는 세 가지입니다 @Component 파생 상품의 주석 , 역할과 속성과 @Component는 동일 , 그러나 더 명시 적 의미합니다. ( 제어기 수단을 제어 층은, - 서비스는 비즈니스 계층을 지칭 저장소는 지속성 지칭)
@Autowired
눌러 byType와 컨테이너가 존재하지 않을 때 또는 동일한 종류의 복수의 자동 주입 모드 빈이 예외가 발생되었을 때.
@Qualifier
때 자동 주사기 검색 콩 의 ID
@자원
보도 요소 별명 주입 자동 방법
@값
사출 및 기본 데이터 유형 문자열 유형 데이터
@범위
지정 콩 기본 범위 싱글 (싱글)의 값을 가진 프로토 타입 (여러 명), 요청 , 세션 , globalSession 등
@PostConstruct
초기화 방법을 지정하는 데 사용됩니다
@PreDestroy
파괴의 방법을 지정하는 데 사용
@Configuration
현재 클래스는 지정하는 데 사용됩니다 스프링 컨테이너를 생성 할 때 클래스 노트에서로드되는 구성 클래스를. 선박은 얻기 위해 필요한 경우 AnnotationApplicationContext (이 @Configuration 주석이 클래스 의 .class를 ).
@ComponentScan
지정 봄 초기화 컨테이너 패키지를 스캔합니다. 역할 및 컨텍스트 : 구성 요소 스캔은 동일합니다 .
등록 정보 : basePackage
@콩
이 방법의 유일한 기록 된 의견은 , 이 방법의 사용은 객체를 생성하는 것을 보여 주었다 , 그리고에 스프링 컨테이너 .
속성 : 이름 ( 즉 콩 의 ID)
@PropertySource
로딩 .properties의 파일 구성 . 종종 구성 데이터 소스를 가지고 .
@수입
다른 클래스를 소개 , 다른 구성 클래스에 도입 할 때 , 당신은 쓸 수 없습니다 @Configuration 어노테이션을 .