본문 바로가기

전체 글336

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.
MyBatis 참고사항(XML 파일 관련) Mapper interface에 어노테이션으로 쿼리를 작성하는 방식 대신XML문을 이용하여 쿼리를 수행하는 구조를 작성해보고자 함. XML 파일에 쿼리를 작성해본적은 있지만 아무것도 없는 상태에서 구조를 만드는 건 처음이라 어려움이 있다.... XML 저장 위치:저장 방법은 두 가지가 있다.1. Mapper 인터페이스가 저장된 곳에 xml 파일을 저장시킨다2. 'src/main/resources' 위치에 Mapper 인터페이스가 저장된 패키지명을 폴더 경로로 만들어준다. XML 파일 명 : XML 파일을 만들 때 정해진 규칙은 따로 없다. 그렇지만 가능하면 Mapper 인터페이스와 같은 이름을 이용하여 가독성을 높여주면 좋다. XML 파일 살펴보기 XML 도입부의 헤더와 doctype이다. 태그는 해당 .. 2024. 5. 29.
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.
헷갈리는 용어 매개변수(parameter) : 메소드의 정의 부분에 나열되어있는 변수들전달인자(argument) : 메소드를 호출할 때 전달되는 실제 값을 의미한다. 2024. 5. 28.
java Overflow(오버플로우) Overflow(오버플로우)변수의 선언된 데이터 유형 범위를 벗어난 값을 할당 할때 발생한다. Java에서는 계산 결과가 최댓값을 넘거나, 최솟값보다 작을 경우 음수는 양수로, 양수는 음수로 바뀌는 문제가 발생한다.이를 오버플로우라고 한다. 정수형의 오버플로우오버플로우 :자료형이 표현할 수 있는 범위 중 최댓값을 벗어날 경우 발생한다.최댓값 초과 시  -> 해당 타입의 최솟값으로 값이 순환한다.     예시코드public static void main(String[] args) { int value = 10; int maxInt = Integer.MAX_VALUE; System.out.println(value + 1); System.out.println(maxInt + 1);}  아.. 2024. 5. 25.