Spring 입문 주차 8.19(금) ~ 8.25(목)
1. 개인 과제: 회원가입, 로그인, 댓글 작성/수정/삭제 기능이 추가된 백엔드 서버 만들기 - 로그인 JWT 활용 2. 팀 과제: Spring 핵심 키워드 정리 |
진행 계획
- 19일(금) Spring 핵심 키워드 정리
- 20일(토) Spring 핵심 키워드 정리
- 21일(일) 개인과제에 필요한 강의 수강 및 공부
- 22일(월) API 명세서 작성, ERD 만들기
- 23일(화) 회원가입 기능 코드 작성
- 24일(수) 로그인 기능 코드 작성
- 25일(목) 댓글 작성/수정/삭제 기능 코드 작성 및 AWS 배포
1. 개발 진행 상황
2. 개발 중 발생한 이슈와 해결
1) h2 예약어 사용 에러
WARN 1946 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "drop table if exists user CASCADE " via JDBC Statement
원인: H2 데이터베이스 2.1.214 버전을 사용하는데, user 키워드가 예약어라서 발생한 에러
해결방법은 아래 3가지 중 하나를 선택하면 된다.
방법 1. h2 데이터베이스 버전 1.4.200으로 변경, 하이버네이트 5.4.13.Final 버전 이상하기
방법 2. application.properties 설정 추가
spring.datasource.url=jdbc:h2:mem:testdb;NON_KEYWORDS=USER
방법 3. 테이블명 user를 다른 이름으로 변경하기(테이블 명을 users로 변경)
@Getter // get 함수를 일괄적으로 만들어줍니다.
@NoArgsConstructor // 기본 생성자를 만들어줍니다.
@Entity // DB 테이블 역할을 합니다.
@Table(name = "users")
public class User {
...
}
2) spring security 적용 후 h2-콘솔 에러
"localhost에서 연결을 거부했습니다."
해결방법: WebSecurityConfig 수정
스프링 시큐리티 적용 후 각 페이지에 권한 설정이 필요하다. 설정은 SecurityConfig파일
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/h2-console/**"); // h2-console 사용을 위해 추가
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatchers("/", "/h2-console/**", "/events", "/events/*").permitAll(); // h2-console 사용을 위해 추가
}
3. TO-DO LIST
- 로그인 기능 구현
'개발 일지' 카테고리의 다른 글
[TIL]이노베이션 캠프 25일차 (0) | 2022.08.25 |
---|---|
[TIL]이노베이션 캠프 24일차 (0) | 2022.08.24 |
[TIL]이노베이션 캠프 22일차 (0) | 2022.08.22 |
[WIL]이노베이션 캠프 3주차 (0) | 2022.08.21 |
[TIL]이노베이션 캠프 21일차 (0) | 2022.08.21 |