봄 연구 노트 (2)

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 어노테이션을 .

 

추천

출처www.cnblogs.com/HJYDR/p/12343717.html