Spring Boot 통합 spring-boot-devtools 개발 시 열 배치 방식

핫 팩 이 뭐 예요?
프로젝트 개발 과정 에서 페이지 데 이 터 를 변경 하거나 데이터 구 조 를 수정 하 는 경우 가 많다 는 것 을 잘 알 고 있 습 니 다.변경 효 과 를 표시 하기 위해 서 는 응용 프로그램 을 다시 시작 하여 변경 효 과 를 봐 야 합 니 다.사실은 새로운 Class 파일 을 재 컴 파일 하여 생 성 한 것 입 니 다.이 파일 에는 코드 등 과 대응 하 는 각종 정보 가 기록 되 어 있 고 Class 파일 은 가상 컴퓨터 의 ClassLoader 에 의 해 불 러 옵 니 다.
열 배 치 는 바로 이 특징 을 이용 하여 클 라 스 파일 이 바 뀌 면 새로운 클 라 스 로 더 를 만들어 이 파일 을 불 러 오 는 과정 을 거 쳐 결 과 를 눈앞 에 보 여 주 는 것 을 감청 합 니 다.
클래스 로드 메커니즘
자바 의 클래스 는 컴 파일 러 를 통 해 코드 를 바이트 코드 를 저장 하 는 Class 파일 로 컴 파일 할 수 있 습 니 다.이 Class 파일 은 각종 정 보 를 저장 하고 가상 컴퓨터 에 불 러 와 서 실행 해 야 합 니 다.클래스 로드 메커니즘(자바 가상 머 신 을 깊이 이해 하기)가상 머 신 은 설명 류 의 데 이 터 를 Class 파일 에서 메모리 로 불 러 오고 데 이 터 를 검증,변환 분석 과 초기 화 하여 가상 머 신 이 직접 사용 할 수 있 는 자바 형식 을 형성한다.
Spring Boot 열 배치 실현
Spring Boot 는 열 배 치 를 실현 하 는 데 다음 과 같은 방식 이 있 습 니 다.
  • 사용Spring Loaded
  • 사용spring-boot-devtools
  • Spring Loaded
    이 방식 은 Maven 플러그 인 형식 으로 불 러 오기 때문에 시작 할 때 Maven 명령mvn spring-boot:run을 통 해 시작 하 는 것 을 사용 합 니 다.응용 프로그램 을 통 해 시작 할 때 Maven 플러그 인 체 제 를 돌 았 기 때 문 입 니 다.
    pom 통합 방식:
    
    <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>springloaded</artifactId>
              <version>1.2.5.RELEASE</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </build>
    spring-boot-devtools
    이런 방식 은 아무리 응용 프로그램 을 시작 해도 파일 을 수정 한 후에 응용 프로그램 을 다시 시작 할 수 있다.
    pom 통합:
    
    <!--       -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional> <!--       true        -->
    </dependency>
    집적 주의
  • 열 배치 효과 가 없 는 것 을 발견 하면 IDE 설정 에서 자동 컴 파일 이 열 렸 는 지 확인 해 야 합 니 다.
  • Thymeleaf 템 플 릿 엔진 을 사용 하려 면 템 플 릿 기본 캐 시 를 false 로 설정 해 야 합 니 다.
  • 
    #  thymeleaf  (  :       false,       true)
    spring.thymeleaf.cache=false
    1.devtools 의 디 렉 터 리 를 지정 하거나 디 렉 터 리 를 제거 하여 열 배 치 를 할 수 있 습 니 다.
    
    #           restart
    spring.devtools.restart.additional-paths=src/main/java
    #            restart
    spring.devtools.restart.exclude=static/**,public/**
    아이디어 설정
    1.아이디어 의 Preferences->Build,Execution,Deployment->Compiler 를 찾 아 Build project 를 자동 으로 선택 합 니 다.
    2.아이디어 정상 화면 으로 돌아 가기,Mac 은 단축 키 shift+option+command+/를 사용 합 니 다.window 의 단축 키 는 Shift+Ctrl+Alt+/입 니 다.Registry 를 열 고 선택 하 십시오.
    compiler.automake.allow.when.app.runningcompiler.automake.allow.when.app.running
    이 설정 을 통 해 서 비 스 를 다시 시작 하지 않 은 상태 에서 html 를 불 러 올 수 있 습 니 다.그러나 자바 파일 을 수정 하면 서 비 스 는 몇 초 후에 자동 으로 재 부팅 됩 니 다.서비스 재 부팅 을 원 하지 않 으 면 application.properties 나 application.yml 에 spring.devtools.reatart.enable=false 를 추가 해 야 합 니 다.
    총결산
    위 에서 말 한 것 은 소 편 이 소개 한 Spring Boot 통합 spring-boot-devtools 개발 시 열 배 치 를 실현 하 는 데 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기