SpringBoot 프로젝트에 대한 참조를 만들려면 [SpringBoot] SpringBoot 빠른 시작 (A)
이 문서에서는 SpringBoot 프로젝트의 POM 파일을 자동으로 구성 설명
POM 파일
1, SpringBoot POM을 파일로서 다음, springboot 부모 프로젝트에 의존 참조
1 < 부모 > 2 < 의 groupId > org.springframework.boot </ 의 groupId > 3 < artifactId를 > 스프링 부팅 스타터 부모 </ artifactId를 > 4 < 버전 > 2.1.8.RELEASE </ 버전 > 5 </ 부모 >
springboot 부모 프로젝트는 봄 부팅의 실제 버전은 내부에 종속 된 모든 응용 프로그램을 관리하는 부모 프로젝트를 가지고
1 < 부모 > 2 < 의 groupId > org.springframework.boot </ 의 groupId > 3 < artifactId를 > 스프링 부트 의존성 </ artifactId를 > 4 < 버전 > 2.1.8.RELEASE </ 버전 > 5 < relativepath를 > ../ ../spring-boot-dependencies </ relativepath를 > 6 </ 부모 >
수입 의존도가 기본 버전을 쓸 필요가 없다 후 (필요 의존성 관리를 의존하는 자연의 버전 번호를 선언 없습니다)
2, SpringBoot 선발
스프링 부팅 스타터 : 봄 부팅 장면 개시, 우리가 웹 어셈블리 모듈을 도입 도움이 정상적으로 따라 작동
1 < 종속성 > 2 <! - 버전 번호, 따라 상위 프로젝트 (스프링 부팅 스타터 부모의 버전 번호 쓸 필요 없음 ) 관리 -> 3 <! - SpringBoot 모든 기능을 추출 장면, 만든 선발 (선발), 4 만 가져 오기에 사용 어떤 기능, 모든 수입에 따라 달라집니다 프로젝트에 이러한 스타터 관련 장면을 소개 할 필요 선발 -> 5 < 의존성 > 6 < 의 groupId > org.springframework.boot </ 의 groupId > . 7 < artifactId를 > 봄 부팅 - 초보 - 웹 </ artifactId를 > . 8 </ 의존성 > . 9 </ 종속성>
메인 프로그램의 메인 입구 클래스
1 주 프로그램의 입구 클래스
. 1 / ** 2 * @SpringBootApplication는 설명 스프링 부트 프로그램 인 메인 프로그램을 표시하는 데 사용 . 3 * / . 4 @SpringBootApplication . 5 개 공용 클래스 응용 { . 6 . 7 공공 정적 무효 메인 (문자열 [] 인수)을 { . 8 . 9 // 발사 스프링 애플리케이션 10 SpringApplication.run (. 애플리케이션 클래스 , 인수를) . (11) } (12)이다 }
2, SpringBoot 코멘트
SpringBootApplication @ A,이 클래스에 설명 봄 부팅 라벨 응용 프로그램이 클래스는, 메인 구성을 SpringBoot
SpringBoot는 SpringBoot 응용 프로그램을 시작하려면이 클래스의 main 메소드를 실행해야합니다;
1 @Target (ElementType.TYPE) 2 @Retention (RetentionPolicy.RUNTIME) 3 @Documented 4 @Inherited 5 @SpringBootConfiguration 6 @EnableAutoConfiguration 7 @ComponentScan (excludeFilters @filter = {(TYPE = FilterType.CUSTOM 클래스 = TypeExcludeFilter. 등급 ) , 8 @filter은 (TYPE = FilterType.CUSTOM 클래스 = AutoConfigurationExcludeFilter. 등급 )}) (9) 공개 @ 인터페이스 SpringBootApplication {
B @ SpringBootApplication> @SpringBootConfiguration : 스프링 부팅 구성 클래스, 스프링 부팅 구성 클래스에 의해 표현되는 클래스에 표시;
C @ SpringBootApplication> @SpringBootConfiguration> @Configuration : 주석 기능 구성가 표시됨; ----- 프로파일 구성 클래스, 클래스 구성 어셈블리 용기이다 @Component
D, @ SpringBootApplication> @EnableAutoConfiguration : 자동 구성 기능을 설정, 뭔가 봄 구성, SpringBoot가 자동 구성 기능을 열고, 자동 구성이 적용;
1 @Target (ElementType.TYPE) 2 @Retention (RetentionPolicy.RUNTIME) 3 @Documented 4 @Inherited 5 @AutoConfigurationPackage 6 @Import (AutoConfigurationImportSelector. 등급 ) 7 공개 @ 인터페이스 EnableAutoConfiguration {
전자, @ SpringBootApplication> @EnableAutoConfiguration> @AutoConfigurationPackage : 자동 구성 패키지
F @ SpringBootApplication> @EnableAutoConfiguration> @AutoConfigurationPackage> @Import (AutoConfigurationPackages.Registrar.class) 스프링 바닥 메모 @Import는 용기가 성분에 도입된다 AutoConfigurationPackages.Registrar.class 도입 성분;
여기서 모든 기본 패키지 구성 클래스의 모든 구성 요소 (@SpringBootApplication 클래스 라벨) 및 스캔 스프링 용기 내부의 하부 서브 패킷;
g @ SpringBootApplication> @EnableAutoConfiguration> @Import (EnableAutoConfigurationImportSelector.class) 수입 컨테이너 선택 성분
EnableAutoConfigurationImportSelector : 어셈블리 선택을 도입, 이러한 구성 요소가 컨테이너에 추가 될 것이다 클래스 방식의 전체 이름을 반환하는 데 필요한 모든 구성 요소를 가져;
그것은 자동 구성 클래스 (xxxAutoConfiguration) 수입 용기를 많이 줄 것이다,이 시나리오는 컨테이너에 필요한 모든 구성 요소를 가져오고 이러한 구성 요소를 구성하는 것입니다;
SpringFactoriesLoader.loadFactoryNames (EnableAutoConfiguration.class, classLoader가) 자동 구성 클래스의 필요성을 제거하는 직접 분사 운전 같은 기능적 구성 요소의 구성을 작성하는 단계;
봄 부팅 EnableAutoConfiguration는 META-INF에 의해 지정된 값을 가져옵니다 / 시작시 클래스 경로를 spring.factories
스프링 부팅 자동 구성 - 2.1.8.RELEASE.jar는 J2EE 전체 통합 솔루션 및 자동 구성에있다;