스프링 구성의 세부 사항 및 springboot

  1. ApplicationContext는 BeanFactory에 인터페이스는 DI 서비스뿐만 아니라, 또한 ApplicationContext 뉴스 소스 등 업무, AOP 서비스, 국제화 및 처리 응용 프로그램 이벤트를 제공 ,,의 확장입니다.
  2. <컨텍스트 : 구성 요소 검사> 태그는 컨트롤러 @ 구성 요소 @ 사용 찾을 봄 스캔 코드를 알려줍니다 Serivice, @ 저장소 주석 분사 콩 @뿐만 아니라 주어진 패키지에서 autowire가 @의 사용을 지원, 주사하고 @, @ 리소스 주석 콩.
  3. @Configuration 주석 클래스 구성 클래스를 지정하는 데 사용되며, 상기 방법은 특수 @Bean이 유형에 사용될 수있다;
  4. 주석 @ComponentScanning은 Java 클래스 구성 및 <컨텍스트 : 성분 주사>는 유사하게 태그;
  5. JDK @Resource 주석은 그 자체가 미세한 DI에 대한 지원 이름 매개 변수의 요구 사항, 제공, autowire가 필요한 의존성을 채우기 위해 반사를 사용 @ @Autowired 주석 스프링이 제공된다;
  6. @Service가 @Component의 특수한 경우, 서비스 쇼 주석 클래스는 응용 프로그램에서 다른 층에 비즈니스 서비스를 제공하고 있습니다 @;
  7. 방법을 찾기 (조회 방법 주입) @Lookup 주입 작업이 하나의 case 문 방법을 발견하는 것입니다 반환 콩 비 - 싱글 톤의 인스턴스. CGLIB 동적 스프링이 메소드를 재정의 할 클래스의 객체의 하위 클래스를 생성하기 위해 사용;
  8. 대안 MethodReplacer 방법은 실제로 CGLIB 실시 예를 사용하는 경우, 타겟의 임의의 방법을 대체 인터페이스에 의해 구현;
  9. @Qualifier 주석 지정 특정 빈 이름 주입 @Autowired;
  10. 콩이 명명 규칙 : 세트 ID를 빈에 대한 빈 이름 아이디, 아니는 아이디, 이름 속성에 대한 스프링 외모 (첫 번째 값은 이름이 두 개 이상의 이름으로 설정 될 수있다), ID와 이름 속성이 설정되지 않은 경우 경우, 이름과 클래스 이름은 것이다;
  11. 같은 foo에와 superfoo 같은 두 개의 서로 다른 콩 프로젝트의 이름,하지만 같은 클래스의 사용이가있는 경우, 당신은 superfoo 변경 foo는 말을 인용하려는 경우, 당신은 superfoo 빈을 삭제 한 다음 foo라는 이름 뒤에 별칭 superfoo를 추가;
  12. 기본적으로 모든 봄 빈은 하나의 예이고, 사용될 수있는 범위는 원형 (원형 패턴) 등을 설정한다;
  13. 각 응용 프로그램을 나타내는 원형 (프로토 타입 패턴) 스프링은 빈 인스턴스는 빈의 새로운 인스턴스를 인스턴스화 요청;
  14. 하나의 예를 선택할 경우 :
    1. 공유 객체의 어떤 상태 없다
    2. 만 공유 객체 상태를 읽을;
    3. 공유 상태 공유 객체를 갖는;
    4. 높은 처리량 대상이 쓴 상태 (객체를 생성하는 많은 응용 프로그램, 당신은 동기 쓰기 모드 제어 상태를 사용할 수 있습니다)
  15. 콩 범위의 예
    1. 범위 싱글
    2. 프로토 타입 범위
    3. 요청 범위
    4. 세션 범위 (HTTP 세션 빈의 행동에 요청)
    5. 글로벌 세션 범위
    6. 범위 스레드
    7. 사용자 지정 범위
  16. 주입 순서는 필요에 따라 배치 될 때 콩 XML 설정, 초기화되지 않은 빈은 빈 다른 주사에 의해 수행되는 경우를 방지하기 위해;
  17. XML 구성 주입, 주입은 빈을 배치함으로써 수행 될 수있다 때 빈이 순서에 따라 구성되어 있지 않으면 빈을 정면으로 지정 플래그 (온 의존 의존 온 속성 콩, 콩 의존 미리 만들어진 빈의 본 실시 예에 앞서 좋은) 우리는 Abean 다른 Bbean, ApplicationContextAware 인터페이스를 구현하는 Abean 필요에 의존하게 관심을 지불 할 필요가;
  18. ApplicationContextAware 인터페이스는 특성이 모든 콩 Spring 컨테이너가 다음 우리가 콩 구현은 인터페이스를 ApplicationContextAware 발견하면, 컨테이너를 감지 스프링 인터페이스를 제공, setApplicationContextAware 빈의 () 메소드를 자동으로 콩을 만들 호출 Spring 컨테이너는 전화 경우에있어서, 그 자체는 다음에 용기 자체의 ApplicationContext 인스턴스 변수에 의해 액세스 될 수 있도록, 그 객체에 할당 된 상태에있어서의 파라미터 등의 ApplicationContext 인스턴스 변수, 프로세스는 호출 빈 생성자 후에 완료 될 컨테이너 가.
  19. 콩 자동 조립은 XML에서 자동 조립 모드 자동으로 묶어 = "요소 별명"을 구성 할 수 있습니다
    1. 요소 별명 모드
    2. byType와
    3. 생성자
    4. 기본 모드
    5. 아니오
  20. 빈 클래스는 두 개의 구성을 가지고, 그것은 우선적으로 사용되는 일련의 빈 (동일한 이름의 다른 타입) 일차 빈 설정 플래그를 추가 할 수있다 예를 들어, 클래스 A가 두 개의 빈은 XML로 구성된 각각 비공개 : A1, A2, 그러나 삽입 된 코드의 사용 beanName에 , 주 케이스를 사용하여 해결 될 수 있으며, 두 충족 주입 조건이 발견되는 경우 byType와이 기본;
  21. 20가지 경우가 발생할 들어,도 @Autowired가 @Qualifier 주석 지정 특정 빈 이름 주입 사용될 수있다;
  22. INIT-있어서, 상기 구성 XML에 지정된 클래스의 초기화를 행하는 방법
  23. InitializingBean 표시 인터페이스, 인터페이스 얻을 수 콩 스프링 완료 통지는 정보가 모든 콩 봄을 얻을 수있다, 즉 디폴트 값이 설정되거나 검출 콩 콩 구성이 올 수있다 구성된;
  24. @PostConstruct 주석은 유사한 방법 INIT-방법을 적용
  25. @Bean (initMethod = "초기화") 마찬가지로 XML 구성 INIT-방법
  26. 콩로드 순서
    1. 첫째, 빈을 생성하기 위해 생성자를 호출
    2. 참고 종속성 (동원 세터)
    3. 이제 빈은 이미 그들이 빈에서 만든 작업 일 (@PostConstruct 노트)를 호출 할 있는지 확인하기 위해 존재하고 조회 할 것이다 의존성, 사전 초기화 콩 BeanPostProcessor 제도적 기반을 제공
    4. InitializingBean 표시 인터페이스 주입 직후 의존성을 행하는 afterPropertiesSet ()를 실행;
    5. 마지막 INIT-방법 속성의 구현은 빈의 실제 초기화 방법이므로;
  27. BeanNameAware 인터페이스는, 인터페이스 클래스가 구현 setBeanName 방법은, 값이 메소드 beanName에 의해 얻을 수 있고, 설정 값은 로그의 일부로서 beanName에 인쇄 로그를 조회를 용이하게 할 때 달성 될 수있다;
  28. 이 인터페이스를 구현 ApplicationContextAware 인터페이스 지정된 이름의 getBean 방법에 의해 얻어지는,이 인터페이스는 그러한 빈 객체로 스프링 애플리케이션에서의 ApplicationContext 빈에 대한 액세스를 허용하기 위해 만들어지는 이유 드로 구성 콩 ApplicationContext의 응용 예를 얻을 수있다.
  29. 생성 및 오브젝트를 관리하는 표준 의미를 사용할 수 없습니다 스프링 어댑터 역할의 FactoryBean 인터페이스;의 FactoryBean 거래 및 프록시 JNDI 컨텍스트의 리소스에 자동으로 액세스 할 수 있습니다.

추천

출처www.cnblogs.com/use-D/p/12634039.html