SpringBoot 베이스 주해

4002 단어 springboot
1. @Configuration
  • 기본 사용
  • SpringBoot 에 게 이것 은 설정 파일 (bean. xml)
  • 과 같은 설정 클래스 라 고 알려 줍 니 다.
  • 설정 클래스 에 서 는 @ Bean 을 사용 하여 용기 에 구성 요 소 를 등록 합 니 다. 기본 값 도 하나의 인 스 턴 스
  • 입 니 다.
  • 설정 클래스 자체 도 구성 요소
  • proxy BeanMethods: bean 을 대리 하 는 방법
  • Full (proxy BeanMethods = true), [각 @ Bean 방법 이 몇 번 호출 되 었 는 지 확인 하 는 구성 요 소 는 하나의 인 스 턴 스 입 니 다]
  • Lite (proxyBeanMethods = false) [각 @ Bean 방법 이 몇 번 호출 되 어 되 돌아 오 는 구성 요 소 는 새로 만 들 어 졌 습 니 다]
  • 구성 요소 의존 은 Full 모드 기본 값 을 사용 해 야 합 니 다.기타 기본 값 Lite 모드 여부
  • package com.marchsoft.boot.config;
    
    import com.marchsoft.boot.bean.Pet;
    import com.marchsoft.boot.bean.User;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * 1、       @Bean             ,        
     * 2、         
     * 3、proxyBeanMethods:  bean   
     */
    @Configuration(proxyBeanMethods = true)//  SpringBoot              
    public class MyConfig {
    
        @Bean//        。         id。          。    ,           
        public User user01() {
            User zhangsan = new User("zhangsan",17);
            zhangsan.setPet(tomcatPet());
            return zhangsan;
        }
    
        @Bean(name = "benben")
        public Pet tomcatPet() {
            return new Pet("  ");
        }
    
    }
    
    위 코드 에 있 는 proxy BeanMethods 값 이 true 일 때
    User user01 = run.getBean("user01",User.class);
    Pet tom = run.getBean("benben",Pet.class);
    System.out.println("  "+(user01.getPet() == tom));
    
    출력 결과 가 true 이 고 false 일 때 false * proxy BeanMethods 의 속성 값 이 true 일 때 용기 에 이 구성 요소 가 있 는 지 없 는 지 를 불 러 옵 니 다. 있 으 면 직접 호출 합 니 다. * proxy BeanMethods 의 속성 값 이 false 일 때 용기 에 해당 하 는 구성 요소 가 있 든 없 든호출 하지 않 고 직접 만 듭 니 다.

    2. @Bean
  • 기본 사용: 용기 에 구성 요 소 를 추가 합 니 다.방법 이름 을 구성 요소 로 하 는 id.반환 값 형식 은 구성 요소 형식 입 니 다. 되 돌아 오 는 값 은 구성 요소 의 용기 에 있 는 인 스 턴 스 입 니 다.말하자면 실체 류 를 실례 화하 고 스프링 부 트 에 맡 겨 관리 하 는 것 이다.
    @Bean//        。         id。          。    ,           
    public User user01() {
        User zhangsan = new User("zhangsan",17);
        zhangsan.setPet(tomcatPet());
        return zhangsan;
    }
    
    @Bean(name = "benben")
    public Pet tomcatPet() {
        return new Pet("  ");
    }
    

  • 3. 다른 주해
  • @ Component 는 용기 에 있 는 구성 요소 만 이 SpringBoot 가 제공 하 는 강력 한 기능
  • 을 가지 고 있 습 니 다.
  • @ Controller 설정 Controller 층 주석
  • @ Service 설정 서비스 층 설명
  • @ Repository 설정 dao 층 주석
  • 4. @Import
  • 기본 용법: @ Import ({User. class, DBHelper. class}) 용기 에 이 두 가지 유형의 구성 요 소 를 자동 으로 만 듭 니 다. 기본 구성 요소 의 이름 은 클래스 이름
  • 입 니 다.
    @Import({User.class, DBHelper.class})
    @Configuration(proxyBeanMethods = false)//  SpringBoot              
    public class MyConfig {
    
        @Bean//        。         id。          。    ,           
        public User user01() {
            User zhangsan = new User("zhangsan",17);
            zhangsan.setPet(tomcatPet());
            return zhangsan;
        }
    
        @Bean(name = "benben")
        public Pet tomcatPet() {
            return new Pet("  ");
        }
    
    }
    

    5. @Conditional
  • 기본 용법: Conditional 지정 조건 을 만족 시 키 면 구성 요소 주입
  • 6. @ImportResource
  • 기본 용법: 이 주 해 는 설정 류 에 추가 되 어 원래 spring 에서 xml 설정 파일 @ImportResource("classpath:bean.xml")
  • 을 가 져 옵 니 다.
    7. @Component+@ConfigurationProperties
  • 기본 적 인 용법: 이 두 주 해 는 실체 류 에 추 가 된 첫 번 째 주 해 는 바로 이 실체 류 를 용기 에 넣 는 것 이다. 두 번 째 주 해 는 설정 파일 에 대응 하 는 속성의 값 을 이 실체 류 에 대응 하 는 속성의 값 을 부여 하 는 것 이다.
  • 실체 류 의 코드
    @Component
    @ConfigurationProperties(prefix = "mycar")
    
  • 프로필 의 코드
    mycar.brand=BYD
    mycar.price=100000
    

  • 8. @EnableConfigurationProperties + @ConfigurationProperties
  • 이 주해 의 기능 은 위의 주해 와 마찬가지 로 설정 파일 의 값 을 실체 클래스 에 대응 하 는 속성 에 부여 합 니 다.
  • @ EnableConfigurationProperties 주해 기능 은 두 가지 가 있 습 니 다.
  • 카 설정 귀속 기능 오픈
  • 이 Car 이 구성 요 소 를 용기 에 자동 으로 등록 합 니 다
  • 좋은 웹페이지 즐겨찾기