springboot (14): Lombok 을 사용 하여 우아 한 인 코딩
머리말
Lombok
일종 Java™
유 틸 리 티 도 구 는 개발 자 들 이 자바 의 지루 함 을 없 애 는 데 도움 을 줄 수 있 습 니 다. 특히 간단 한 자바 대상 (POJO) 에 대해 서 는.그것 은 주 해 를 통 해 이 목적 을 실현 한다.본문
의존 도 를 높이다
pom. xml 파일 에 의존 도 를 추가 합 니 다:
1.16.20
org.projectlombok
lombok
${lombok.version}
provided
Lombok
취 하 는 주해 형식의 경우 컴 파일 후 자동 으로 해당 하 는 방법 을 생 성 합 니 다. ide 가 미 치지 않도록 플러그 인 을 다운로드 하여 지원 해 야 합 니 다. 아이디어 예: 플러그 인 찾기 lombok plugin
설치 하면 됩 니 다.
나의 User 실체 클래스 를 예 로 들 면 (set, get, toString 방법),
@Getter
@Setter
@ToString
public class SysUserEntity implements Serializable
Ctrl + F12
set, get, toString 방법 을 찾 을 수 있 습 니 다.
주해
자주 사용 하 는 것 을 쓰 고 나머지 api 는 Jar 가방 을 열 면 한눈 에 알 수 있 습 니 다.
@Getter
@Setter
@ToString
@EqualsAndHashCode
구조 함수
@AllArgsConstructor
모든 변 수 를 포함 하 는 변 수 를 생 성 합 니 다. 또한 변수 가 NotNull annotation 을 사용 하면 비어 있 는 지 확인 합 니 다. 모든 매개 변수의 구조 함수 가 자동 으로 생 성 되 고 이 주해 의 역할 영역 도 실체 류 에서 만 매개 변수의 순서 와 속성 정의 순서 가 일치 합 니 다.
@NoArgsConstructor
무 참 구조 함수
@RequiredArgsConstructor
상수 (final) 와 @ NotNull 변 수 를 표시 하 는 구조 방법 을 생 성 합 니 다.
어떻게
그것들 은 모두 세 개의 매개 변 수 를 설정 할 수 있다. 1. String staticName() default "";
이 를 설정 하면 원래 의 구조 적 접근 수식 자 를 개인 적 으로 정적 구조 방법 을 추가 합 니 다. 매개 변 수 는 같 습 니 다. 이름 은 설 정 된 문자열 의 이름 이 고 액세서리 에 접근 하 는 것 은 공유 입 니 다.
AnyAnnotation[] onConstructor() default {};
구조 방법 에 주 해 를 첨가 하 다.사용 방법 @RequiredArgsConstructor(onConstructor=@__({@AnnotationsGoHere}))}
예 를 들 어 우 리 는 Spring 프로젝트 에 여러 개의 값 을 주입 하고 여러 개 를 써 야 한다. @Autowired
귀 찮 습 니 다. 이런 방식 을 사용 할 수 있 습 니 다.
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class UserServiceImpl implements IUserService {
private final IUserRepository userRepository;
private final IOrderRepository orderRepository;
………………
AccessLevel access() default lombok.AccessLevel.PUBLIC;
구조 함수 접근 수정자;
@NoArgsConstructor
무 삼 구조 함수 에 주해 가 있다. boolean force() default false;
저자 If {@ code true}, initializes all final fields to 0 / null / false. 그렇지 않 으 면 compile time error occurs. true
모든 인 자 를 기본 값 으로 초기 화 합 니 다. 그렇지 않 으 면 컴 파일 오류 가 발생 합 니 다.
@Data
, @Data
주 해 는 다음 과 같은 몇 가지 주해 기능 이 있 습 니 다. @ToString
、 @Getter
、 @Setter
、 @EqualsAndHashCode
、 @NoArgsConstructor
。
주의해 야 할 것 은, 동시에 사용 @Data
화해시키다 @AllArgsConstructor
이후 기본 무 참 구조 함수 가 효력 을 잃 었 습 니 다. 필요 하 다 면 다시 설정 해 야 합 니 다. @NoArgsConstructor
@Slf4j
// , log :
log.info(xxxx);
@Log
java.util.logging.Logger
,직접 사용 변수 log
。
@Builder
bulder 모드 구축 대상.
@Cleanup
@Cleanup
InputStream in = new FileInputStream(args[0]);
@Cleanup
OutputStream out = new FileOutputStream(args[1]);
, jdk1.7 try with resource
val
。
val example = new ArrayList();
example.add("Hello, World!");
:
val example = new ArrayList();
example.add("Hello, World!");
@NonNull
public NonNullExample(@NonNull Person person) {
this.name = person.getName();
}
:
public NonNullExample(@NonNull Person person) {
if (person == null) {
throw new NullPointerException("person");
}
this.name = person.getName();
}
@SneakyThrows
, , throw
@SneakyThrows(Exception.class)
@Synchronized
, , , 。
private final Object lock = new Object();
@Synchronized("lock")
public void foo() {
// Do something
}
, synchronized
코드 블록 에 입자 화.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.