본문 바로가기

Java193

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.
헷갈리는 용어 매개변수(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.
팩토리 메서드 패턴 Factory method pattern (생성패턴)객체가 생성되는 과정을 숨기고 완성된 인스턴스만 반환하는 패턴이다. new연산자로 객체를 생성하지 않고, 객체의 생성과정을 다른 객체에 맡겨서 리턴 받아서 사용한다이렇게 객체 생성을 대신 해주는 클래스를 Factory 라고 한다. 장점 : 코드 간 결합도를 낮출 수 있다. 예시)  public class Bus {} public class BeanFactory { public Bus getBus(){ return new Bus(); }} Bus 객체를 만들 때, new 연산자로 생성하지 않고 BeanFactory 클래스를 통해서 객체를 사용한다.public class BeanFactoryMain { public static .. 2024. 5. 16.