본문 바로가기

Spring15

스프링 데이터 JPA와 Querydsl 인프런 강의 정리 김영한님이 강의하신 실전! Querydsl 강좌를 학습하고 정리한 내용입니다. 소스코드는 Github를 참고해주세요. 시작하기에 앞서 테스트용 MySQL 설치 및 Gradle 프로젝트에서 Querydsl 설정하는 방법에 대해 알아봅니다. Docker MySQL 설치 docker run -d --name test_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin007! mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci Gradle에서 Querydsl 설정 build.gradle 파일에 querydsl 설정을 추가한다. 설정을 추가하고 build 또는 compileQuerydsl을 .. 2020. 2. 3.
스프링 부트와 JPA 활용1,2 인프런 강의 정리 김영한님이 강의하신 인프런 스프링 부트와 JPA 활용1, 2 강좌를 학습하고 정리한 내용입니다. 소스코드는 Github를 참고해주세요 Gradle 의존관계 보기 ./gradlew dependencies --configuration compileClasspath Docker MySQL 설치 docker run -d --name test_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin007! mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 엔티티 설계시 주의점 1.가급적 Setter를 사용하지 말자 2.모든 연관관계는 지연로딩(Lazy)으로 설정하자 Fetch Join, 엔티티 .. 2020. 1. 20.
Spring Security 인프런 강의 정리 백기선님이 강의하신 인프런 스프링 시큐리티 강좌를 학습하고 정리한 내용입니다. 소스코드는 Github를 참고해주세요. Prerequisites Installing MySQL 5.7 Account Info Normal User : user / 123 Admin User : admin / !@# Password Encoder 비밀번호는 평문이 아닌 단방향 알고리즘으로 인코딩해서 저장해야 한다 {id}encodePassword PasswordEncoder passwordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); Password Encoder 종류 BCryptPasswordEncoder NoOpPasswordEncoder Pbkd.. 2019. 9. 5.
Spring 파일 업로드 구현 및 파일 크기 설정 파일 업로드 컨트롤러 생성 @Controller @Slf4j public class FileUploadController { public static final Path path = Paths.get(System.getProperty("user.home"), ".upload"); @GetMapping("/form") public String form() { return "form"; } @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile multipartFile) { log.info("upload"); File targetFile = new File(path.resolve(multipartFile.getOrigi.. 2019. 7. 26.
ServletContextListener 이벤트 처리 ServletContextListener 인터페이스 스프링 웹 애플리케이션 컨텍스트의 실행 시점과 종료 시점 이벤트를 리스닝 하는 인터페이스이다. public interface ServletContextListener extends EventListener { public default void contextInitialized(ServletContextEvent sce) { } public default void contextDestroyed(ServletContextEvent sce) { } } ServletContextListener 메서드 contextInitialized : 애플리케이션이 시작될 때 호출되는 메서드 contextDestroyed : 애플리케이션이 중지될 때 호출되는 메서드 Cus.. 2019. 7. 26.
스프링에서 Exception 핸들러 매핑하기 @ExceptionHandler WelcomeController 클래스에 있는 두 메서드는 모두 @ExceptionHandler 어노테이션을 붙였습니다. 첫 번째 handle 메서드는 CustomException 예외 처리 전용 메서드이며, 두 번째 handleDefault 메서드는 일반 예외 처리 메서드 역할을 합니다. 두 메서드 모두 에러 상황에 따라 맞는 렌더링 할 뷰 이름을 반환하고 있습니다. @ExceptionHandler는 특정 컨트롤러 안에서 예외가 발생한 경우에만 예외를 매핑하는 문제점이 있습니다. @Controller public class WelcomeController { @ExceptionHandler(CustomException.class) public String handle(C.. 2019. 7. 25.