전체 글 85

[Spring] Validation 추상화

Validation 추상화 Spring에서 org.springframework.validation.Validator는 애플리케이션에서 사용하는 객체 검증용 인터페이스이다. 주로 Spring MVC에서 사용하지만 Web 계층에서만 사용하는 전용 개념은 아니다. 특징 어떠한 Layer이여도 상관이 없고 모든 Layer(Web, Service , Data) 에서 사용해도 상관없다. 구현체 중 하나이면서 JSR-303(Bean Validation 1.0)과 JSR-349(Bean Validation 1.1), JSR-380(BeanValidation 2.0.1 )을 지원한다. (LocalValidatorFactoryBean) 참고 https://beanvalidation.org/ DataBinder에 들어가서 ..

Spring/Spring Core 2020.11.04

[Spring] Resource 추상화

Resource 추상화 Spring Boot에서 resource를 설정할때 classpath로 mapping시 prefix 사용을 선호한다. java.net.URL 을 Resource로 감싸서 추상화 하는 기법을 기술한다 특징 Spring은 java.net.URL 을 org.springframework.core.io.Resource 로 감싸서 추상화한 클래스이다. 스프링 내부에서 많이 사용하는 인터페이스이다 추상화 한 이유 java.net.URL 이 기본적으로 여러 prefix를 지원하는 프로토콜은 http,https, ftp, file, jar 이지만 classpath 기준으로 리소스를 읽어오는 기능이 없다. ServletContext를 기준으로 상대 경로로 읽어오는 기능이 없다 새로운 핸들러를 등록하..

Spring/Spring Core 2020.11.04

[Java] Java 8에 추가된 LocalDate, LocalTime, LocalDateTime

Java 8에 추가된 LocalDate,LocalTime,LocalDateTime 이전 포스팅에 이어 포스팅하겠습니다. 2020/11/02 - [Java/개념] - Java 에서 Date, Calendar클래스가 왜 Deprecated됐는지? 이번 포스팅은 java.time 패키지의 LocalDate,LocalTime,LocalDateTime 에 대해 알아보겠습니다. Java의 Time API 흐름 Date(jdk 1.0) → Calendar(jdk.1.1) → java.time(jdk 1.8) LocalDate,LocalTime,LocalDateTime 클래스들의 공통점 TimeZone 개념을 가지고 있지 않기 때문에 TimeZone에 따라 시간 변환이 불가능합니다. java.time 패키지 이와같이 ..

Java/개념 2020.11.02

[Java] Date, Calendar클래스가 왜 Deprecated됐는지?

Java 에서 Date클래스와 Calendar 클래스가 왜 Deprecated 됐는지? 앞 전 포스팅으로 이어서 포스팅하겠습니다. 2020/11/02 - [Java/개념] - Java Date와 Calendar 클래스 국제화와 잘 맞지 않는다 java.util.Date 클래스는 실제로 더 이상 사용되지 않으며, 생성자와 다른 생성자/메소드도 더 이상 사용되지 않는다. 그것은 국제화와 잘 맞지 않기 때문에 더 이상 사용되지 않았다. Calendar클래스는 대신 다음과 같이 사용해야한다. Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1988); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Cale..

Java/개념 2020.11.02

[Java] Date와 Calendar 클래스

Date와 Calendar 클래스 JDK 1.0 버전에서는 날짜를 처리하기 위해 Date 클래스를 사용했다. JDK 1.1 버전부터는 Calendar 클래스를 사용하여 날짜 처리 작업을 하도록 변경되었다. Date 클래스의 대부분 메소드들 deprecated 되었다. 현재 Date클래스의 생성자는 두 개만 사용이 가능하고 나머지는 deprecated 되었다. 먼저 Date 클래스의 생성자를 알아보자 Date 클래스의 생성자 생성자 설명 Date() 객체가 생성된 시간을 갖는 Date 객체를 생성 Date(long date) 매개 변수로 넘어온 long 타입을 갖는 Date 객체를 생성 Date(long date) 중 long date 값은 UTC 시간으로 현재 시간을 long 타입으로 리턴해주는 Syst..

Java/개념 2020.11.02