Springboot-yaml 설정 과 자동 설정 원리 분석

버 전 중재 센터
spring dependencies 에서 자주 사용 하 는 jar 가방 에 의존 해 주 었 습 니 다.이 jar 가방 을 가 져 오 려 면 버 전 번호 가 필요 없습니다.
예:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
</dependency>
자동 배치 원리
설정 파일 설정 debug:true 는 콘 솔 에서 자동 설정 보고 서 를 인쇄 할 수 있 습 니 다.모든 시작 하 는 자동 설정 과 시작 하지 않 은 자동 설정 류 를 인쇄 할 수 있 습 니 다.
@SpringBootApplication
어떤 클래스 에 표시 되 어 있 으 며,이 클래스 는 springboot 의 주 시작 클래스 임 을 설명 합 니 다.

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
@EnableAutoConfiguration:자동 설정 을 켜 기 때문에 수 동 으로 많은 설정 을 할 필요 가 없습니다.

@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
@ AutoConfigurationPackage
주 설정 클래스 가 있 는 가방 의 모든 구성 요 소 를 spring 용기 에 스 캔 합 니 다.

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({Registrar.class})
public @interface AutoConfigurationPackage {
AutoConfigurationImportSelector
@import:용기 에 구성 요 소 를 가 져 옵 니 다.이 구성 요 소 는 my sql,웹 등 모든 자동 설정 류 를 불 러 옵 니 다.
최종 적 으로 META-INF/spring.factories 라 는 위치 에서 모든 자동 설정 류 를 찾 아 용기 에 불 러 옵 니 다.이 자동 설정 류 는 우리 가 이전에 spring 으로 만 들 었 던 많은 설정 을 해 치 웠 습 니 다.
문법
글자 의 양
문자열 은 기본적으로 따옴표 가 필요 하지 않 습 니 다.따옴표 와 따옴표 가 특별한 의 도 를 가지 고 있 습 니 다.
출력
두 따옴표 의 특수 문 자 는 뜻 을 바 꾸 지 않 습 니 다.예 를 들 어 출력 이 빈 칸 과 같 습 니 다.
따옴표 를 붙 이지 않 는 것 과 마찬가지 로 모두 의 미 를 바 꿀 수 있다.
느슨 한 귀속
속성의 서법 낙타 봉 과 가 중선-또는 밑줄마찬가지 로 실체 류 로 전환 하 는 것 은 모두 낙타 봉 식 입 니 다.그러나 이것 은 configurationProperties 에 만 사용 할 수 있 고@Value 주석 에 사용 할 수 없습니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
이 설명 은 Yml 설정 에서 사용자 정의 설정 에 알림 을 줄 수 있 습 니 다.
@Property Source 주석 과 함께 사용
@PropertySource 주 해 는 지정 한 다른 파일 을 불 러 올 수 있 습 니 다.

@PropertySource(value = "classpath:user.properties")
@ImportResource 와 함께 사용
spring 설정 파일 가 져 오기

@ImportResource(locations={"classpath:mybatis.xml"})
설정 파일 자리 표시 자
${random.int}Yml 가 제공 하 는 임 의 수 를 사용 합 니 다.
${server.port}앞 에 설 정 된 값 사용 하기
${server.name:안녕하세요}값 이 없 으 면 기본 값 을 사용 합 니 다.
profile
지정 한 다른 설정 환경 활성화
명령 행 활성화 시 Cspring.profiles.active=dev 를 추가 할 수 있 습 니 다.
가상 컴퓨터 매개 변수 활성화-Dspring.profiles.active=dev
파일 로 딩 순서 설정
file:./config/프로젝트 루트 경로 의 config 디 렉 터 리
file:./항목 루트 디 렉 터 리
classpath: config/
classpath: /
모든 파일 이 불 러 옵 니 다.위 에서 아래로 우선 순위 가 높 은 것 부터 낮은 것 까지 높 은 것 은 낮은 내용 을 덮어 씁 니 다.서로 다른 설정 이 적 용 됩 니 다.상호 보완 합 니 다.
프로젝트 를 배치 할 때 Cspring.config.location 을 통 해 설정 파일 의 위 치 를 변경 할 수도 있 습 니 다.프로젝트 에 불 러 온 설정 파일 과 여기 서 지정 한 설정 파일 을 서로 보완 합 니 다.
이상 은 Springboot-yaml 설정 과 자동 설정 원리 에 대한 상세 한 내용 입 니 다.Springboot 자동 설정 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기