Java | Spring 9

[Java] SLF4J LoggerFactory 사용

별 내용은 없고 slf4j와 LoggerFactory 사용예제 코드만 적으려 한다. import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Slf4j @Component public class 인터페이스Impl implements 인터페이스 { private static final Logger logger = LoggerFactory.getLogger(인터페이스Impl.class); @Override public void 인터페이스에있는메소드(Param param) { logger.info("====logger====="); logger.debug("------이렇게만 해도 내용은 나오지롱----..

Java | Spring 2021.04.05

[Java] Why does the string data type have a .toString() method?

String 클래스는 이미 String 인데 왜 toString() method 를 가지고 있을까 그냥 궁금해졌다. 근데 나와 같은 궁금증을 가진 사람이 많나 보다. C# 이긴 한데 Java도 별반 다를 바 없을 거 같아서 주소를 가져왔다, stackoverflow.com/questions/2778827/why-does-the-string-type-have-a-tostring-method Why does the string type have a .ToString() method? Why does the string data type have a .ToString() method? stackoverflow.com String 의 가장 상위 클래스가 Object이고 String은 Object의 하위 클래스라..

Java | Spring 2021.04.05

[Java][Springboot] (4) Spring 프로젝트 생성하기, VSCode Spring Initializer, 삽질의 연속

같은 내용인데 방법이 달라 벌써 4번째 글을 쓴다. Gradle 로도 할까말까 고민 중 VSCode 에서 ctrl + shift + P 를 누르면 검색칸이 뜨는데 거기에다 Spring이라고 타이핑하면 다음과 같이 뜬다. 나는 Maven이 더 익숙하니까 Create Maven Project로 해보겠다. 내 개발 환경 및 버전은 다음과 같다. 1. 플랫폼, OS: Windows 10 64bit 2. JDK: OpenJDK - AdoptOpenJDK 14 3. maven: apache-maven-3.6.3 Maven Project를 선택하면 Spring Boot version을 선택하라고 뜬다. 뭐가 좋을지 검색해본다. 여기저기 돌아다니다보니 Spring Boot 2.2.4 RELEASE 기준으로 Java 8..

Java | Spring 2020.11.26

[Java][Java 8, Java 10] Optional 활용하기, orElseThrow

orElseGet 에 이어 orElseThrow 를 소개한다. 내가 쓰임에 맞게 사용한지는 모르겠지만 일단 설명은 해보겠다. (컨펌 전임) 나의 이전 코드는 이렇다. // ServiceImpl @Transactional @Override public Entity updateEntity(Entity updateEntity) { Optional optEntity = entityRepository.findById(updateEntity.getEntityId()); if(optEntity.isEmpty()) { return null; } updateEntity.setBlahBlah(something); return entityRepository.save(updateEntity); } 이렇게 되면 그냥 NullP..

Java | Spring 2020.11.26

[Java][Java 8] Optional 활용하기, orElseGet

Java로 백엔드를 개발하는 중에 Optional을 쓴다면 아래와 같이 많이들 썼을 것이다. // ServiceImpl @Override public Entity findOneEntity(Long entityId) { Optional optEntity = entityRepository.findById(entityId); Entity entity = new Entity(); if(optEntity.isPresent()) { entity = optEntity.get(); } return entity; } 오늘 이걸 두 문장으로 끝내버리는 Optional 함수 orElseGet 을 알아냈다. orElseGet은 찾아온 값이 null 이 아닐 경우에만 값을 get 해준다. 위와 아래 코드에서 의도된 return..

Java | Spring 2020.11.26

[Java][Springboot] (3) Springboot 프로젝트 생성하기, VSCode, Springboot MVC 프로젝트

이클립스보다 VSCode가 나는 더 편해서 이 방법으로도 한 번 만들어봤다. 참고한 사이트: myjamong.tistory.com/155 내 개발 환경 및 버전은 다음과 같다. 1. 플랫폼, OS: Windows 10 64bit 2. JDK: OpenJDK - AdoptOpenJDK 14 3. Eclipse : Eclipse IDE for Enterprise Java Developers. Version: 2019-12 (4.14.0) 4. maven: apache-maven-3.6.3 (Eclipse에서 backend 기본 세팅 끝나면 VSCode에서 작업할 것이다.) maven과 java 환경변수가 이미 세팅된 상태라는 전제 하에 진행하겠다. VSCode는 이클립스처럼 dynamic web projec..

Java | Spring 2020.11.24

[Java][Springboot] (2) Springboot 프로젝트 생성하기, eclipse, Spring Starter Project , STS

여러 가지 방법으로 생성해보고 나한테 맞는 방법으로 진행해 나갈 것이다! 병아리 개발자의 시행착오 일지 참고 사이트: velog.io/@wonthechan/Spring-STS%EC%97%90%EC%84%9C-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B6%80%ED%8A%B8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0 내 개발 환경 및 버전은 다음과 같다. 1. 플랫폼, OS: Windows 10 64bit 2. JDK: OpenJDK - AdoptOpenJDK 14 3. Eclipse : Eclipse IDE for Enterprise Java Developers. Version: 2019-12 (4..

Java | Spring 2020.11.24

[Java][Springboot] (1) SpringBoot 프로젝트 생성하기, eclipse, Maven Project

혼자 뚱땅뚱땅 만들기 스타트를 끊으려 한다. 계획한 지 2주나 지난 것 같은데 일이 바빠 오늘에서야 첫걸음을 뗀다. 참고한 사이트: gangnam-americano.tistory.com/52 내 개발 환경 및 버전은 다음과 같다. 1. 플랫폼, OS: Windows 10 64bit 2. JDK: OpenJDK - AdoptOpenJDK 14 3. Eclipse : Eclipse IDE for Enterprise Java Developers. Version: 2019-12 (4.14.0) 4. maven: apache-maven-3.6.3 (Eclipse에서 backend 기본 세팅 끝나면 VSCode에서 작업할 것이다.) Eclipse 에서 [File] - [New] - [Maven Project] 혹은..

Java | Spring 2020.11.24

[Java][JPA][Issue] (datetime) 'COLUMN_NAME' cannot be null

오늘 만난 이슈인데 나같이 몇 달 안된 개발자는 백엔드에 관한 지식이 별로 없어서 겪었지만 다른 사람들은 자주 못볼 이슈일 수도 있다. 엔티티에는 데이터가 insert 될 때 시간을 자동으로 찍어주는 @CreatedDate 어노테이션이 붙은 Date type 필드가 있었다. 테이블에 insert 도중 계속 해당 필드 값이 'cannot be null' 이어야 한다며 에러 메시지가 나타났다. datetime 'COLUMN_NAME' cannot be null 알고 보니 @EntityListeners(AuditingEntityListener.class) 내 엔티티에만 위 어노테이션이 빠져서 계속 오류가 났던 것이다. 내가 참고한 사이트는 아래와 같다. stackoverflow.com/questions/509..

Java | Spring 2020.11.11
반응형