본문 바로가기

Java190

JavaDoc 참고 내용 주석문을 잘 작성하는 방법은?주석문이 없어도 이해할 수 있도록 클래스, 메소드, 변수 이름을 작성한다주석문은 최소한으로 작성한다JavaDoc 주석문을 잘 작성한다(클래스 설명, 메소드 설명) JavaDoc 주석문에서 사용하는 태그들annotation설명@version 클래스나 메소드의 버전@author작성자@deprecated더이상 사용되지 않거나, 삭제될 예정@since언제 생성, 추가, 수정되었는가?@see외부 링크나 텍스트, 다른 필드나 메소드를 링크할 때 사용@linksee와 동일한 기능. 링크 제공@exception발생할 수 있는 Exception 정의 예시 /** * ObjectBox를 담기 위한 클래스 * * @author amung(amung * @since 2024.06 * @versi.. 2024. 6. 13.
Lombok 의존성 설정 시 왜 compileOnly, annotationProcessor로 설정되는걸까? - gradle 의존성 구성 정보 알아보기 gradle 3.0의 Dependency Configurations참고로 gradle 3.0 이전 버전과의 차이는 다음과 같습니다compile → implementation / apitestCompile → testImplementationdebugCompile → debugImplementationprovided → compileOnlycompileOnly : compile 시점에만 필요한 의존성을 정의하는 데 사용. 사용하려는 라이브러리가 컴파일 타임에만 필요하고, 런타임 시점에는 필요하지 않을 때 사용합니다. compileClassPath에만 추가되어 결과적으로 build 결과물의 크기를 줄일 수 있습니다.(JAR파일에 포함되지 않기 때문). (ex)LombokruntimeOnly : 라이브러리가 .. 2024. 6. 13.
템플릿 메소드 패턴 만약에 여러 Controller 코드를 짜는데1.초기화 - 정해져있는 코드2.실행     - 매번 다르게 작성하는 코드3.마무리 - 정해져있는 코드라는 순서로 작성해야 한다초기화, 마무리하는 코드는 고정된 코드이고, 실행하는 코드만 다르게 작성하고 싶을 때 어떻게 할까?상속과 추상메소드를 이용하면 된다. 이를 이용한 것이 템플릿 메소드 패턴이다.템플릿 메소드 패턴의 특징1. 원하는 순서대로 코드가 실행되도록 강제할 수 있다. (아래의 execute()참고)package com.example.fw;public abstract class Controller2 { /** * 내가 가지고 있는 메소드를 호출하는데 * 어떠한 순서를 가지고 있다 * 이런 메소드를 템플릿 메소드라고 한다 .. 2024. 6. 3.
Scheduler 관련 내용정리 SchedulerScheduler를 사용하면 정해진 시간마다 특정 동작을 수행할 수 있다Scheduler를 구현하기 위한 대표적인 방법 2가지Spring Framework에서 제공하는 SchedulerQuartz 라이브러리1. Spring Framework에서 제공하는 Scheduler적용 시 장점:Scheduler는 기본적으로 Spring Boot에 포함되어 있기 때문에 추가적으로 Gradle에 의존성을 추가할 필요없이 Application 클래스에 @EnableScheduling를 추가하여 Scheduler를 활성화할 수 있다스케줄러를 사용하면 직접 스레드를 관리하지 않아도 된다2. Quartz 라이브러리적용 시 장점 : Spring Framework의 Scheduler보다 정교하게 Job Sched.. 2024. 6. 3.
유효성 검사 / 데이터 검증 (Validation) Spring boot 2.3 버전부터는 starter-validation 라이브러리를 추가해야한다.Validation 관련 어노테이션- @Size : 문자의 길이 조건- @NotNull : null 값 불가- @NotEmpty : @NotNull + ""값 불가- @NotBlank : @NotEmpty + ""값 불가- @NotBlank : 값이 null인지를 체크함과 동시에 공백인지 여부도 확인해서 유효성 검사를 한다.(LocalDateTime이나 int 타입에서는 사용 불가) - @Past : 과거 날짜- @PastOrPresent : @Past + 오늘 날짜- @Future : 미래 날짜- @FutureOrPresent : @Future + 오늘 날짜 - @Pattern : 정규식을 통한 조건 - .. 2024. 5. 31.
UML 표기법 + 는 publicgetOne은 메소드 이름괄호 안에 있는 것은 매개 변수콜론(:) 뒤에는 리턴 type   public class MathBean { public void printClassName(){ System.out.println("MathBean"); } public void printNumber(int number){ System.out.println(number); } public int getOne(){ return 1; } public int plus(int x, int y){ return x + y; }} 2024. 5. 28.