From 3f5f5cbc4bbc68355524dd199df3366e98fce8a5 Mon Sep 17 00:00:00 2001 From: Daeil Choi Date: Mon, 6 Feb 2023 12:04:50 +0900 Subject: [PATCH] =?UTF-8?q?Modify=20=EC=A3=BC=EC=84=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 14 ++++++++++++-- .../SpringSecurityStudyApplication.java | 4 ++++ .../common/AlreadyRegisteredUserException.java | 3 +++ .../common/UserNotFoundException.java | 3 +++ .../config/InitializeConfig.java | 10 ++++++++++ .../{AuditorConfig.java => JpaAuditorConfig.java} | 5 ++++- .../springsecuritystudy/config/MvcConfig.java | 3 +++ .../config/PasswordEncoderConfig.java | 3 +++ .../springsecuritystudy/config/SecurityConfig.java | 3 +++ .../notice/NoticeController.java | 3 +++ .../springsecuritystudy/post/AdminController.java | 4 ++++ 11 files changed, 52 insertions(+), 3 deletions(-) rename src/main/java/com/example/springsecuritystudy/config/{AuditorConfig.java => JpaAuditorConfig.java} (78%) diff --git a/build.gradle b/build.gradle index 2fbc11d..ecae9d9 100644 --- a/build.gradle +++ b/build.gradle @@ -19,17 +19,27 @@ repositories { } dependencies { + // spring data jpa implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + // security implementation 'org.springframework.boot:spring-boot-starter-security' + // 웹 페이지를 쉽게 생성하기 위한 thymeleaf implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + // spring web mvc implementation 'org.springframework.boot:spring-boot-starter-web' + // Thymeleaf에서 SpringSecurity를 Integration implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5' + // lombok compileOnly 'org.projectlombok:lombok' -// developmentOnly 'org.springframework.boot:spring-boot-devtools' - runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' +// developmentOnly 'org.springframework.boot:spring-boot-devtools' + // h2 + runtimeOnly 'com.h2database:h2' + // starter test testImplementation 'org.springframework.boot:spring-boot-starter-test' + // security test testImplementation 'org.springframework.security:spring-security-test' + // junit test testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } diff --git a/src/main/java/com/example/springsecuritystudy/SpringSecurityStudyApplication.java b/src/main/java/com/example/springsecuritystudy/SpringSecurityStudyApplication.java index 6e83066..bd4dd78 100644 --- a/src/main/java/com/example/springsecuritystudy/SpringSecurityStudyApplication.java +++ b/src/main/java/com/example/springsecuritystudy/SpringSecurityStudyApplication.java @@ -3,6 +3,10 @@ package com.example.springsecuritystudy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * SpringSecurity 학습용 Application + */ @SpringBootApplication public class SpringSecurityStudyApplication { diff --git a/src/main/java/com/example/springsecuritystudy/common/AlreadyRegisteredUserException.java b/src/main/java/com/example/springsecuritystudy/common/AlreadyRegisteredUserException.java index bb4024f..4efa7b4 100644 --- a/src/main/java/com/example/springsecuritystudy/common/AlreadyRegisteredUserException.java +++ b/src/main/java/com/example/springsecuritystudy/common/AlreadyRegisteredUserException.java @@ -1,5 +1,8 @@ package com.example.springsecuritystudy.common; +/** + * 이미 등록된 유저를 재등록하려고 할때 발생하는 Exception + */ public class AlreadyRegisteredUserException extends RuntimeException { public AlreadyRegisteredUserException(String message) { diff --git a/src/main/java/com/example/springsecuritystudy/common/UserNotFoundException.java b/src/main/java/com/example/springsecuritystudy/common/UserNotFoundException.java index af9024a..23e809e 100644 --- a/src/main/java/com/example/springsecuritystudy/common/UserNotFoundException.java +++ b/src/main/java/com/example/springsecuritystudy/common/UserNotFoundException.java @@ -1,5 +1,8 @@ package com.example.springsecuritystudy.common; +/** + * 유저를 찾을 수 없을 때 발생하는 Exception + */ public class UserNotFoundException extends RuntimeException { public UserNotFoundException(String message) { diff --git a/src/main/java/com/example/springsecuritystudy/config/InitializeConfig.java b/src/main/java/com/example/springsecuritystudy/config/InitializeConfig.java index 52af503..70785cf 100644 --- a/src/main/java/com/example/springsecuritystudy/config/InitializeConfig.java +++ b/src/main/java/com/example/springsecuritystudy/config/InitializeConfig.java @@ -12,6 +12,9 @@ import com.example.springsecuritystudy.user.UserService; import lombok.RequiredArgsConstructor; +/** + * 초기 상태 등록 Config + */ @Configuration @RequiredArgsConstructor @Profile(value = "!test") @@ -21,6 +24,12 @@ public class InitializeConfig { private final PostService postService; private final NoticeService noticeService; + /** + *

유저 등록

+ * 1. user / user
2. admin / admin + *

게시글 등록 4개

+ *

공지사항 등록 2개

+ */ @PostConstruct public void adminAccount() { User user = userService.signup("user", "user"); @@ -30,5 +39,6 @@ public class InitializeConfig { postService.savePost(user, "테스트3", "테스트3입니다."); postService.savePost(user, "여름 여행계획", "여름 여행계획 작성중..."); noticeService.saveNotice("환영합니다", "환영합니다 여러분"); + noticeService.saveNotice("게시글 작성 방법 공지", "1. 회원가입\n2. 로그인\n3. 게시글 작성\n4. 저장\n* 본인 외에는 게시글을 볼 수 없습니다."); } } diff --git a/src/main/java/com/example/springsecuritystudy/config/AuditorConfig.java b/src/main/java/com/example/springsecuritystudy/config/JpaAuditorConfig.java similarity index 78% rename from src/main/java/com/example/springsecuritystudy/config/AuditorConfig.java rename to src/main/java/com/example/springsecuritystudy/config/JpaAuditorConfig.java index dbd6a6a..389848c 100644 --- a/src/main/java/com/example/springsecuritystudy/config/AuditorConfig.java +++ b/src/main/java/com/example/springsecuritystudy/config/JpaAuditorConfig.java @@ -3,7 +3,10 @@ package com.example.springsecuritystudy.config; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +/** + * JPA auditor enable + */ @Configuration @EnableJpaAuditing -public class AuditorConfig { +public class JpaAuditorConfig { } diff --git a/src/main/java/com/example/springsecuritystudy/config/MvcConfig.java b/src/main/java/com/example/springsecuritystudy/config/MvcConfig.java index c2323a2..b0d92e1 100644 --- a/src/main/java/com/example/springsecuritystudy/config/MvcConfig.java +++ b/src/main/java/com/example/springsecuritystudy/config/MvcConfig.java @@ -4,6 +4,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.filter.HiddenHttpMethodFilter; +/** + * WebMVC Config + */ @Configuration public class MvcConfig { diff --git a/src/main/java/com/example/springsecuritystudy/config/PasswordEncoderConfig.java b/src/main/java/com/example/springsecuritystudy/config/PasswordEncoderConfig.java index 09c104b..de1ef4b 100644 --- a/src/main/java/com/example/springsecuritystudy/config/PasswordEncoderConfig.java +++ b/src/main/java/com/example/springsecuritystudy/config/PasswordEncoderConfig.java @@ -5,6 +5,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.factory.PasswordEncoderFactories; import org.springframework.security.crypto.password.PasswordEncoder; +/** + * PasswordEncoder Config + */ @Configuration public class PasswordEncoderConfig { diff --git a/src/main/java/com/example/springsecuritystudy/config/SecurityConfig.java b/src/main/java/com/example/springsecuritystudy/config/SecurityConfig.java index 1605fa2..2ec08fa 100644 --- a/src/main/java/com/example/springsecuritystudy/config/SecurityConfig.java +++ b/src/main/java/com/example/springsecuritystudy/config/SecurityConfig.java @@ -9,6 +9,9 @@ import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import lombok.RequiredArgsConstructor; +/** + * Security 설정 Config + */ @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { diff --git a/src/main/java/com/example/springsecuritystudy/notice/NoticeController.java b/src/main/java/com/example/springsecuritystudy/notice/NoticeController.java index 879d49e..bb08a2d 100644 --- a/src/main/java/com/example/springsecuritystudy/notice/NoticeController.java +++ b/src/main/java/com/example/springsecuritystudy/notice/NoticeController.java @@ -15,6 +15,9 @@ import com.example.springsecuritystudy.post.PostDto; import lombok.RequiredArgsConstructor; +/** + * 공지사항 서비스 Controller + */ @Controller @RequiredArgsConstructor @RequestMapping("/notice") diff --git a/src/main/java/com/example/springsecuritystudy/post/AdminController.java b/src/main/java/com/example/springsecuritystudy/post/AdminController.java index f1c47b2..d236576 100644 --- a/src/main/java/com/example/springsecuritystudy/post/AdminController.java +++ b/src/main/java/com/example/springsecuritystudy/post/AdminController.java @@ -19,6 +19,10 @@ public class AdminController { private final PostService postService; + /** + * 어드민인 경우 게시글 조회 + * @return admin/index.html + */ @GetMapping public String getPostForAdmin(Authentication authentication, Model model) { User user = (User) authentication.getPrincipal();