Spring 28

[Spring error] error print properties

# error print custom server.error.include-binding-errors=always #에러 발생 시 Spring 기본 에러 페이지 노출 여부 server.error.include-exception=true # Response 에 Exception 을 표시할지 server.error.include-message=always # Response 에 Exception Message 를 표시할지 (never | always | on_param) server.error.include-stacktrace=always # Response 에 Stack Trace 를 표시할지 (never | always | on_param) on_trace_params 은 deprecated

Web/spring 2023.01.25

[Spring JPA] Update Query 작성 시 @Modifying @Transactional

JPA를 사용하면서 엔티티에서 @Setter 어노테이션을 모두 제거하게 되었다 엔티티 사용시에 setter 사용을 지양하도록 하라는 설명들을 보면서 왜 그런지에 대해서 많은 공부를 하게 된 것 같다. 그러면 데이터에 수정이 있어야할 경우에는 어떻게 해야할까? 전체를 다 들고와서 계속 올리는 건 너무 쓸데없는 코드가 되지 않을까 한참 고민을 하다가 내가 작업하고 있는 것은 수 많은 컬럼 중에 하나의 boolean 상태만 바꾸는 것이라 @Query 를 사용해보기로 했다. 그런데 바로 DML 오류ㅎ... not supported for dml operations update 왜 INSERT, UPDATE, DELETE 문을 쿼리로 짰을 때 @Modifying @Transactional을 붙이라고 하는 걸까??..

Web/DB 2023.01.11

[MAC MySql] db 세팅 부터 Spring 연동까지

1. 터미널 켜고 mysql 접속 mysql -uroot -p 2. db 생성 CREATE DATABASE DB이름; 3. 사용할 유저 설정 및 권한부여 CREATE USER '사용할유저이름'@'localhost' IDENTIFIED BY '비밀번호'; GRANT ALL PRIVILEGES ON DB이름.* TO '유저이름'@'localhost'; FLUSH PRIVILEGES; // DBMS 적용하라는 의미 꼭 명령실행! quit, exit 를 이용하여 mysql 에서 나온 뒤, 4. 접속해보기 mysql -h127.0.0.1 -u사용할유저이름 -p DB이름; 비밀번호 접속하면 끝! 이건 비밀번호 틀렸다는 에러메세지임 ERROR 1045 (28000): Access denied for user '사용할..

Web/DB 2023.01.04

[Spring Error] Servlet.service() for servlet

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause 구글링해보니 이 오류가 나타나는 이유 몇가지가 있었다 1. 쿼리값 주입 여부 체크 2. DB run 체크 3. 인스턴스 변수(필드 변수) 의존성 주입 읽어보고 코드를 보니 하.............. 하ㅏ하 ㅜ 정말 간단한 휴먼 오류였다ㅜㅠ private Service -> private final Service 로 바꾸니 바로 해결 아무래도.. 아직 final 에 대한 정확한..

Web/spring 2022.12.28

[Spring Entity] Entity 컬럼 안에 리스트 넣는 방법 두가지

@Entity 에 리스트 값이 들어가야할 일은 굉장히 많다 예를 들면 중복으로 체크된 값을 한몫에 넣는다던가.. 선택지가 여러개라 복수로 값이 담길 때. 이 방법 저 방법 검색해봤는데, @Convert 를 이용하는 방법과 @ElementCollection 을 사용하는 방법이 있다. 1. @Convert @Convert public class StringListConverter implements AttributeConverter { private static final String SPLIT = ","; @Override public String convertToDatabaseColumn(List stringList) { return String.join(SPLIT, stringList); } @Over..

Web/spring 2022.12.21

[Spring Security] WebSecurityConfigurerAdapter deprtecate

Spring Security 를 공부하던 중, 예제를 보고 따라하다가 예제에서 사용하는 WebSecurityConfigurerAdapter 가 deprecate 되어있다는 것을 확인했다. 🤨 방법이 새롭게 있겠지.. 검색검색 https://docs.spring.io/spring-security/reference/servlet/oauth2/login/advanced.html Advanced Configuration :: Spring Security By default, the OAuth 2.0 Login Page is auto-generated by the DefaultLoginPageGeneratingFilter. The default login page shows each configured OAuth..

Web/spring 2022.12.14

[Spring Error] Web server failed to start. Port 8080 was already in use.

Web server failed to start. Port 8080 was already in use. 스프링 부트 프로젝트를 실행하려는데 포트를 이미 쓰고 있다고 떴을 때 일단 기존 인텔리제이에서 돌아가고 있는 어플리케이션이 있는지 확인하고, 없는데도 만약 실행이 안된다고 하면 터미널 켜고 lsof -i :8080 켜져있는 PID 를 kill 시킨다. sudo kill -9 PID 그리고 다시 돌리면 잘 됨!

Web/spring 2022.12.12

[spring gradle] h2 세팅해보기

무턱대고 구글링 블로그로 검색해서 맨땅에 헤딩처럼 작업해보기보다는 document 나 명세를 살펴보며 (비록 영어라 두통이 오더라도 😂) 그 기능을 개발한 사람의 생각도 들여다보며 공부하는 걸 시도해보는 중이다 앱개발 때도 느꼈는데 많은 사람들이 구글링이 개발의 답이라고 하지만 버전이 업그레이드 됨에 따라 맞지않은 옛날 글, 또는 잘못된 글도 너무 많다. 그래서 어느정도 앱을 알게 된 이후에 나도 문서를 살펴보며 진짜 그 기능에 포함되어있는 메소드들을 살펴보곤 했었다. 아직 봄이 안온 스프링 개발자지만, 얼른 따뜻한 봄을 맞이하기 위해 열심히 공부를 해본다! 일단, h2 데이터베이스와 JPA 를 공부하는데 대부분 maven 으로 되어있길래 gradle 로 한번 세팅해보려고한다. http://www.h2d..

Web/spring 2022.12.10
728x90