Web/Spring

· Web/Spring
환경IntelliJGradle 3.3.0Java 21에러Project 설정은 모두 자바 21 버전으로 바꿨는데 인식을 못했던 문제intellij 에서 A problem occurred configuring root project 'sbb'.> Could not resolve all artifacts for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.3.0. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.3.0 > No m..
· Web/Spring
중고책 판매 사이트 제작 프로젝트를 하던 중, 회원(User)-채팅방(Chat)의 관계를 다대다로 설정해야했다. 처음 생각했던 방법은 @ManyToMany @ManyToMany 다대다 단방향 다대다 관계에서는 기본적으로 두 테이블 사이에 연결 테이블이 들어간다. 그 연결 테이블은 @JoinTable에서 지정해줄 수 있다. 단방향 연결은 연관 관계의 주인(User)에서 joinColumn(내 쪽에서 연결할 컬럼), inverseJoinColumn(상대 쪽에서 연결할 컬럼)을 모두 JoinTable 지정 시에 같이 설정할 수 있다. @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDE..
· Web/Spring
Spring Security 회원가입, 로그인 기능과 같이 인증/인가 작업을 spring security, JWT로 처리해보기로 했다. 이전부터 OAuth 방식으로 인증, 인가를 구현해보고 싶었는데 spring security를 사용하면 filter나 authenticationProvider, manager 같은 객체 생성, 연결이 어렵지 않을 것 같았다. 그래서 도입해보기로 함. spring security 흐름도 의존성 추가 // build.gradle implementation 'org.springframework.boot:spring-boot-starter-security' User User Entity @NoArgsConstructor @Getter @Entity @Table(name = "us..
· Web/Spring
Exception? Error? 이전 글에서 Java에서 Exception을 checked exception, unchecked exception으로 나눌 수 있다고 했다. 이번 글은 둘 중 unchecked exception를 핸들링한 코드를 정리한다. 이전 글에서 checked exception은 컴파일 시점에 검증이 들어가기 때문에 명시적으로 예외 처리가 필요하다고 했다. 하지만 checked exception가 실사용 시점에도 나올 수 있기 때문에 RuntimeException을 상속받아 unchecked exception처럼 런타임 시에도 예외를 처리할 수 있도록 한다. ErrorCode 먼저 나올 수 있는 에러 코드를 HttpStatus와 함께 넘길 메시지를 ENUM 구조를 사용해 명시했다. ..
기넌
'Web/Spring' 카테고리의 글 목록