SpringBoot 를 사용 하여 starter 의 전체 절 차 를 사용자 정의 합 니 다.

머리말
SpringBoot 를 사용 한 사람 은 모두 알 아야 합 니 다.하나의 SpringBoot 프로젝트 는 하나의 Starter 로 구 성 된 것 입 니 다.하나의 Starter 는 이 프로젝트 의 SpringBoot 시작 의존 을 대표 합 니 다.공식 적 으로 기 존의 Starter 를 제외 하고 우 리 는 자신의 수요 에 따라 새로운 Starter 를 사용자 정의 할 수 있 습 니 다.
사용자 정의 SpringBoot Starter
사용자 정의 Starter,우선 자동화 설정 이 필요 하 며 자동화 설정 을 실현 하려 면 다음 과 같은 두 가지 조건 을 만족 시 켜 야 합 니 다.
(1)프로젝트 에 필요 한 설정 정 보 를 자동 으로 설정 할 수 있 습 니 다.즉,의존 환경 을 자동 으로 불 러 옵 니 다.
(2)프로젝트 가 제공 하 는 정보 에 따라 자동 으로 Bean 을 생 성하 고 Bean 관리 용기 에 등록 할 수 있다.
자동화 설정 을 실현 하려 면 프로젝트 의 pom.xml 파일 에 다음 과 같은 의존 도 를 도입 해 야 합 니 다.

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-autoconfigure</artifactId>
 <version>2.1.4.RELEASE</version>
</dependency>
필요 에 따라 사용자 정의 Starter 의 실현 과정 은 다음 과 같 습 니 다(제 가 정의 한 Starter 를 예 로 들 면).
프로젝트 디 렉 터 리 구조:
在这里插入图片描述
1.프로젝트 도입 설정 의존

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-autoconfigure</artifactId>
 <version>2.1.4.RELEASE</version>
</dependency>
2.xxxService 클래스 를 만 들 고 관련 조작 논 리 를 완성 합 니 다.
코드:StringService.java

public class StringService {

 private String str1;

 private String str2;

 private String default_str;

 public String getStr1() {
  return str1;
 }

 public void setStr1(String str1) {
  this.str1 = str1;
 }

 public String getStr2() {
  return str2;
 }

 public void setStr2(String str2) {
  this.str2 = str2;
 }

 public String getDefault_str() {
  return default_str;
 }

 public void setDefault_str(String default_str) {
  this.default_str = default_str;
 }

 public String addStr(){
  if(str1 != null){
   if(str2 != null){
    return str1 + "," + str2;
   }
   return str1;
  }
  return default_str;
 }

}

3.xxxproperties 류,속성 설정 류 를 정의 하고 속성 설정 과 관련 된 작업 을 완성 합 니 다.예 를 들 어 속성 접 두 사 를 설정 하여 application.properties 에서 설정 합 니 다.
코드:StringProperties.java

//                str,            str.str1=springboot,           str1    
@SuppressWarnings("ConfigurationProperties")
@ConfigurationProperties(prefix = "str")
public class StringProperties {

 public static final String DEFAULT_STR1 = "I know, you need me";

 public static final String DEFAULT_STR2 = "but I also need you";

 private String str1 = DEFAULT_STR1;

 private String str2 = DEFAULT_STR2;

 public String getStr1() {
  return str1;
 }

 public void setStr1(String str1) {
  this.str1 = str1;
 }

 public String getStr2() {
  return str2;
 }

 public void setStr2(String str2) {
  this.str2 = str2;
 }
}

4,정의 xxxConfigurationProperties 클래스,자동 설정 클래스,빈 생 성 등 작업 수행
코드:StringAutoConfiguration.java

//    java    
@Configuration
//  StringService
@ConditionalOnClass({StringService.class})
//   application.properties                ,    Bean
@EnableConfigurationProperties(StringProperties.class)
public class StringAutoConfiguration {

 //      
 @Autowired
 private StringProperties stringProperties;

 @Bean
 //         Bean          Bean
 @ConditionalOnMissingBean(StringService.class)
 public StringService helloworldService() {
  StringService stringService = new StringService();
  stringService.setStr1(stringProperties.getStr1());
  stringService.setStr2(stringProperties.getStr2());
  return stringService;
 }

}
5.resources 에서 디 렉 터 리 META-INF 를 만 들 고 META-INF 디 렉 터 리 에서 spring.factories 를 만 듭 니 다.SpringBoot 가 시 작 될 때 이 파일 에 따라 프로젝트 의 자동화 설정 류 를 불 러 옵 니 다.
코드:spring.factories

# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.lhf.springboot.config.StringAutoConfiguration
6.여기 서 사용자 정의 Starter 가 완성 되 었 습 니 다.다른 항목 에 만 도입 하면 사용 할 수 있 습 니 다.
2.다른 항목 에서 사용자 정의 Starter 사용
1.새 프로젝트 에 사용자 정의 Starter 의존 설정 도입
새로운 SpringBoot 프로젝트 를 만 듭 니 다.프로젝트 의 pom.xml 파일 에 사용자 정의 SpringBoot Starter 의존 설정 을 도입 하면 다음 과 같 습 니 다.

<!--     Starter-->
<dependency>
 <groupId>com.lhf.springboot</groupId>
 <artifactId>spring-boot-starter-string</artifactId>
 <version>0.0.1-SNAPSHOT</version>
</dependency>
2.간단 한 Controller 를 작성 합 니 다.

@RestController
public class StringController {

  @Autowired
 private StringService stringService; //     Starter  StringService

 @RequestMapping("/")
  public String addString(){
  return stringService.addStr();
 }
}
3.속성 설정 파일 을 작성 합 니 다.내용 은 다음 과 같 습 니 다.

#          
str.str1=           
str.str2=           
4.프로젝트 를 시작 하여 접근 합 니 다.효 과 는 그림 과 같 습 니 다.
在这里插入图片描述
在这里插入图片描述
결어:
SpringBoot 사용자 정의 starter 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 SpringBoot 사용자 정의 starter 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기