본문 바로가기

☕Java101

날짜, 시간, 포맷팅 Date, Calendar Date - JDK 1.0부터 있던 클래스 Calendar - Date를 보완한 클래스. JDK 1.1부터 제공됨. Calendar Calendar 사용 시에는 static 메서드인 getInstance()로 생성. (GregorianCalendar, BuddhistCalendar 등 시스템 설정에 맞춰 알맞은 구현 클래스 반환해 줌) 현재 날짜를 설정할 때에는 Date 클래스가 여전히 필요하다. Date date = new Date(); Calendar calendar = Calendar.getInstance(); calenar.setTime(date); get(Calendar 상수들)로 날짜 시간 요소 가져올 수 있음. 차이 구할 때는 getTimeMillis()로 계산 후.. 2023. 7. 11.
Querydsl 사용을 위한 build.gradle 설정하기 Gradle + JPA + Querydsl 사용을 위해 build.gradle을 작성할 때 많은 경우, 플러그인을 추가하여 사용한다. 특히, 인프런 김영한 님 등 JPA를 전파하시는 분들의 강의 내용에 플러그인을 사용하여 설정하는 방법이 나와 있어서 구글 검색 내용 중 다수가 그렇게 사용하고 있다. 그러나 해당 방법에는 문제가 있다. (아래 프로젝트는 JDK 17, Spring Boot 3.x를 사용합니다.) Bad Case plugins { id 'java' id 'org.springframework.boot' version '3.0.6' id 'io.spring.dependency-management' version '1.1.0'.. 2023. 5. 14.
스프링 프로젝트에서 service 인터페이스나 serviceImpl 클래스를 사용하는 이유와 사용해야 하는지 여부 Do I need an interface with Spring boot? In this blog post, we discover whether we have to use an interface when writing services with Spring boot. dimitri.codes 항상 서비스 인터페이스와 구체 클래스를 만들어 다른 클래스에 주입해야 한다고 묻는다면, 답은 X이다. 서비스 클래스를 교체해야 하는 경우가 아니라면 굳이 서비스 인터페이스를 만들어서 사용할 필요가 없다. 과거에는 스프링이 JDK Dynamic proxy를 사용해서 프록시를 생성하려면 인터페이스가 필요했지만 최근 버전의 스프링 프레임워크들은 CGLIB 프록시를 지원하고 권장하기 때문에 인터페이스가 필요하지 않다. 이런 이.. 2022. 11. 26.
자바 컬렉션 간 변환(Array, List, Map, Set) 정리 배열, Collection 객체 간에 변환이 필요한 경우 사용할 수 있는 방법을 정리해보았다. 변환을 할 때 배열과 배열이 아닌 객체 간을 나눠서 볼 수 있다. 배열이 아닌 List, Map, Set으로 변환하는 경우에는 원래 객체를 파라미터로 받아 List, Map, Set 객체를 생성하는 방식으로 변환한다. 다만, 배열의 경우에는 List로 변환하여 넣어 주면 된다. List, Map, Set 객체를 배열로 바꾸려고 할 때는 List, Map, Set 객체가 기본적으로 가진 toArray() 메서드를 이용하면 쉽게 배열로 바꿀 수 있다. Array -> List 1. Arrays.asList(array) * 원래 배열의 list 형태만 보여줌. 따라서 리스트 추가하는 것이 불가하고(추가 시 Unsup.. 2022. 10. 1.
728x90