Lombok은 무엇입니까? 세터, 게터, 생성자 등과 같이 작성해야하지만 반복 해야하는 코드를 제거하는 데 도움이되는 방법입니다.
먼저, Lombok의 아이디어 설치에 대해 간단히 이야기 해 봅시다. 두 가지 방법이 있습니다.
1. http://plugins.jetbrains.com/에서 직접 다운로드 한 다음 아이디어 설치 파일 아래 플러그인에 넣은 다음 아이디어를 다시 시작하십시오.
2. 아이디어의 설정 (Windows) 또는 환경 설정 (Mac)에서 플러그인 메뉴를 찾아 그림과 같이 리포지토리 찾기를 클릭하십시오.
그런 다음 Lombok을 검색하고 오른쪽을 클릭하여 사진에 표시된대로 다운로드, 다운로드 및 다시 시작하십시오.
새 프로젝트를 작성하고 POM 파일에 Lombok 종속성을 추가하면 전체 POM은 다음과 같습니다.
<? xml version = "1.0"encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance" xsi : schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.xsd"> <modelversion> 4.0.0 </modelversion> <groupid> com.dalaoyang </groupid> <버전> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> springboot_lombok </name> <description> springboot_lombok </descript> <pergon <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> </version> <RelativePath/> <!-리포지토리에서 부모를 조회합니다 .-> </parent> <properties> <proffice.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.worting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> 1.8. </properties> <pectionilency> <pectinement> <groupId> org.springframework.boot </groupid> <artifactid> Spring-Boot-Starter-web </artifactid> </dependency> <groupid> org.springframework.boot </groupId> <artifactid> spring-dovtool> <cope> runtime </scope> </fectionement> <pectionement> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <scope> test </scope> </fexendency> <groupid> org.projectlombok </groupicid> <버전> 1.16.20 </version> </dependency> </dependencies> <빌드> <플러그인> <GroupId> org.springframework.boot </groupid> <artifactid> Spring-Boot-Maven-Plugin
새 사용자 클래스를 만듭니다. 이것은 Lombok을 사용하는 클래스입니다. 코드는 다음과 같습니다.
package com.dalaoyang.entity; import lombok.allargsconstructor; import lombok.data; import lombok.noargsconstructor;/** * @author dalaoyang * @description * @project_learn * @package com.dalaoyang * @email [email protected] * @date 2018/dalaang @ */@data@alargsconstructor@noargsconstructorpublic class user {private integer id; 개인 문자열 이름; 개인 문자열 비밀번호;}
Lombok 사용의 이점을 비교하기 위해 이전과 동일하게 새로운 Usernolombok 클래스를 만듭니다. 코드는 다음과 같습니다.
package com.dalaoyang.entity; import java.util.objects;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoyang.entity * @email [email protected] * @date 2018/5/7 */public usernolombok {private integer integer 개인 문자열 이름; 개인 문자열 비밀번호; 공개 정수 getId () {return id; } public void setId (정수 ID) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; } public usernolombok (정수 ID, 문자열 이름, 문자열 비밀번호) {this.id = id; this.name = 이름; this.password = 비밀번호; } public usernolombok () {} @override public boolean equals (Object o) {if (this == o) return true; if (o == null || getClass ()! = O.getClass ()) rETgy false; usernolombok that = (usernolombok) o; return objects.equals (id, that.id) && objects.equals (name, that.name) && 객체 (password, that.password); } @override public int hashcode () {return objects.hash (id, name, password); } @override public String tostring () {return "usernolombok {" + "id =" + id + ", name = '" + name +'/' + ", password =' + password + '/' ' +'} '; }}
그런 다음 새 UserController 테스트를 작성하면 코드는 다음과 같습니다.
package com.dalaoyang.controller; import com.dalaoyang.entity.user; import org.springframework.web.bind.annotation.getmapping; import org.sprameframework.web.bind.annotation.restcontroller;/** @author dalaoyang * @Dalaoyang * @description. com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 */ @restControllerPublic Class UserController {@getMapping ( "/testuser") public user getUser () {user user = new user (); user.setid (1); user.setName ( "dalaoyang"); user.setpassword ( "123"); System.out.println (user.toString ()); 리턴 사용자; }}
그림과 같이 http : // localhost : 8080/testuser를 방문하십시오
Lombok Annotation 소개 :
@Data 태그, getter/setter toString () 및 기타 방법을 생성합니다
@Nonnull : NullPointerException과 함께 걱정하지 않고 사랑에 빠지게합니다.
@CleanUp : 자동 리소스 관리 : 더 이상 리소스를 추가 할 필요가 없습니다.
@setter/@getter : 자동으로 세트를 생성하고 메소드를 얻습니다
@ToString : 자동으로 TOSTRING 메소드를 생성합니다
@equalsandhashcode : 해시 코드의 구현을 생성하고 객체 필드에서 동일합니다.
@noargsconstructor/@requiredargsconstructor/@allargsconstructor
건축 방법을 자동으로 생성합니다
@Data : 설정/get 메소드, ToString 메소드, Equals 메소드, 해시 코드 메소드, 매개 변수없는 생성자 메소드를 자동으로 생성합니다.
@Value : 최종 클래스에 주석을 달 때 사용됩니다
@Builder : 복잡한 빌더 API 클래스를 생성합니다
@sneakythrows : 예외 처리 (주의해서 사용)
@synchronized : 동기화 된 메소드 안전 변환
@getter (Lazy = true) :
@Log : 다양한 로거 객체를 지원하고 다음과 같이 사용할 때 해당 주석을 사용합니다. @log4j
소스 코드 다운로드 : Big Lao Yang Mayun
로컬 소스 코드 다운로드 주소 : SpringBoot-lombok_jb51.rar
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.