이 기사는 SpringBoot의 우아한 코드 Lombok의 축복을 소개하고 다음과 같이 공유합니다.
개요
Lombok은 간단한 구문 주석을 제공함으로써 부풀어 오르는 일부 Java 코드 제거를 단순화하는 데 도움이됩니다. 일반적으로 Pojo 객체의 단순화 (예 : 자동으로 세터와 getters 등) Lombok의 지원을 통해 개발자는 많은 반복적이고 부풀어 오른 작업을 피할 수 있으므로 Java 코드의 신호 대 잡음 비율을 크게 향상시킬 수 있으므로 시도하고 적용해야합니다!
Intellij 아이디어에 대한 구성
방법 1 : 아이디어 인터페이스에서 직접 구성합니다
먼저 플러그인 인터페이스를 입력하십시오.
그런 다음 Lombok 플러그인을 검색하고 설치하십시오.
마지막으로, 주석 프로세서의 활성화 옵션을 활성화하는 것을 잊지 마십시오.
위의 설치가 완료된 후에는 아이디어를 다시 시작해야합니다!
방법 2 : Lombok 플러그인 설치를 수동으로 다운로드하십시오
때로는 네트워크 이유로 인해 위의 방법이 설치되지 않으므로 수동으로 다운로드하여 설치할 수 있습니다.
Lombok 플러그인 다운로드 :
https://github.com/mplushnikov/lombok-intellij-plugin/releases
플러그인 -> 디스크에서 플러그인 설치 ... 다운로드 된 지퍼 패키지 설치 선택
아이디어를 다시 시작하십시오
IDE의 설정이 완료되면 POM.XML에 다음 Lombok 종속성을 추가해야합니다.
<pectionency> <groupid> org.projectlombok </groupid> <artifactid> lombok </artifactid> <버전> 1.16.16 </version> </fectionency>
Lombok 메인 노트
@Getter and @Setter / 자동으로 설정 및 속성에 대한 메소드를 가져옵니다.@ToString /이 주석의 기능은 클래스의 toString () 메소드를 자동으로 생성하는 것입니다.@EqualsAndHashCode / 자동으로 해시 코드를 생성하고 객체 필드에 대한 구현과 같습니다.@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor / 이름에서 알 수 있듯이 클래스에 해당 매개 변수를 갖는 생성자를 자동으로 생성합니다.@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog / 자동으로 해당 로그 지원을 클래스에 추가@Data / 자동으로 @Tostring, @EqualSandhashCode, @Getter, add @Setter 및 @RequiredArgSconstructor를 비 결절 필드에 자동으로 추가합니다. 이는 본질적으로 여러 주석의 포괄적 인 효과와 동일합니다.@NonNull / 자동으로 NULL 포인터를 피하는 데 도움이됩니다. 메소드 매개 변수에 작용하는 주석은 널 매개 변수 검사를 자동으로 생성하는 데 사용됩니다.@Cleanup / 우리를 위해 close () 메소드를 자동으로 호출하십시오. 로컬 변수에 작용합니다. 범위가 끝나면 닫기 메소드가 자동으로 호출되어 리소스를 릴리스합니다. 다음은 Lombok에서 가장 자주 사용되는 @Data 및 @Log 주석과의 실용적인 코드 전투입니다!
@Data 주석 사용
@Data 주석에 대한 공식 웹 사이트의 설명은 다음과 같습니다.
모두 함께 : @tostring, @equalsandhashcode, 모든 필드의 @getter, 모든 비 지정 필드의 @Setter 및 @RequiredArgSconstructor의 바로 가기!
이해하기 어렵지 않으며 여러 Lombok 주석의 통합으로 간주 될 수 있으므로 사용하기가 매우 편리합니다!
먼저 Pojo Entity UserLombok을 만듭니다. 일반적인 작문 방법은 다음과 같습니다.
공개 클래스 userLombok {개인 최종 문자열 이름; 사적인 int 연령; 개인 이중 점수; 개인 문자열 [] 태그; public userLombok (문자열 이름) {this.name = name; } public String getName () {return this.name; } void setage (int age) {this.age = age; } public int getage () {return this.age; } public void setScore (이중 점수) {this.score = score; } public double getscore () {return this.score; } public String [] getTags () {return this.tags; } public void settags (string [] tags) {this.tags = tags; } @Override public String toString () {return "dataExample (" + this.getName () + "," + this.getage () + "," + this.getScore () + "," + arrays.deepToString (this.getTags ()) + "); } 보호 된 부울 canequal (Object Other) {다른 인스턴스의 데이터 예를 반환합니다. } @override public boolean equals (Object o) {if (o == this) true를 반환합니다. if (! (o instanceof dataexample)) reture false; dataExample Other = (dataExample) o; if (! o.canequal ((Object) this)))가 false를 반환합니다. if (this.getName () == null? eloge.getName ()! = null :! this.getName (). Equals (기타 .getName ())) retud false; if (this.getage ()! = 기타 .getage ())가 false를 반환합니다. if (double.compare (this.getScore (), elop.getScore ())! = 0) false를 반환합니다. if (! arrays.deepequals (this.getTags (), 기타 .getTags ())) false를 반환합니다. 진실을 반환하십시오. } @override public int hashcode () {Final int prime = 59; int result = 1; 최종 Long Temp1 = double.doubletolongbits (this.getScore ()); result = (result*prime) + (this.getName () == null? 43 : this.getName (). hashcode ()); 결과 = (result*prime) + this.getage (); 결과 = (result*prime) + (int) (temp1 ^ (temp1 >> 32)); 결과 = (result*prime) + arrays.deephashcode (this.getTags ()); 반환 결과; }}Lombok의 축복 후, 작문 방법을 단순화 할 수 있습니다.
@datapublic class userLombok {개인 최종 문자열 이름; 사적인 int 연령; 개인 이중 점수; 개인 문자열 [] 태그;}아이디어에 사용될 때 Lombok의 주석은 다음 그림과 같이 자동으로 완료됩니다.
Pojo 테스트 코드를 작성해 봅시다
public static void main (String [] args) {userLombok userLombok = new UserLombok ( "Hansonwang99"); userLombok.setage (18); String [] array = new String [] { "Apple", "Juice"}; userLombok.setTags (배열); userLombok.SetScore (99.0); System.out.println (UserLombok); }아래 그림에서, 우리는 아이디어가 여전히 Lombok에 의해 자동으로 생성 된 코드를 자동으로 완료 할 수 있음을 알 수 있습니다.
결과 인쇄
Lombok은 우리를위한 Tostring 메소드를 자동으로 생성하므로 객체의 인쇄 결과는 다음과 같습니다.
userLombok (이름 = Hansonwang99, Age = 18, score = 99.0, tags = [Apple, Juice])
@Log 주석 연습
내 기사 Spring Boot Log Framework Practice에서 Log4J2를 로그 오브젝트로 사용하며 다음과 같이 작성됩니다.
@restController@requestMapping ( "/testLogging") 공개 클래스 loggingStestController {private final logger = logmanager.getLogger (this.getClass ()); @GetMapping ( "/hello") public String hello () {for (int i = 0; i <10_0000; i ++) {logger.info ( "info execute index method"); logger.warn ( "warn execute index 메서드"); logger.error ( "오류 실행 색인 메소드"); } "첫 번째 스프링 부츠 응용 프로그램"을 반환합니다. }}대신 Lombok을 사용하면 작문 방법이 더 간결하게됩니다. 로그 오브젝트의 생성을 완료하려면 해당 @Log 주석 만 소개하면됩니다.
@restController@restontMapping ( "/testLoggingWithLombok")@log4j2public 클래스 loggingStestControllerLombok {@getMapping ( "/hello") public String hello () {for (int i = 0; i <10_0000; i ++) {log.info ( "Info execute index method"); log.warn ( "warn execute index 메서드"); log.error ( "오류 실행 색인 메소드"); } "첫 번째 스프링 부츠 응용 프로그램"을 반환합니다. }}어때요, 모든 것이 너무 우아합니다!
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.