본문 바로가기

Spring16

Logback JSON 포맷으로 출력하기 의존성 추가 build.gradle 파일에 아래 의존성을 추가한다. compileOnly("ch.qos.logback.contrib:logback-jackson:0.1.5") compileOnly("ch.qos.logback.contrib:logback-json-classic:0.1.5") JsonLayout 설정하기 logback.xml 파일에 로그 메시지를 JsonLayout으로 출력되도록 설정한다. 추가적으로 JacksonJsonFormatter을 설정하면 Json 로그 메시지가 Json Formatter가 적용되어 출력된다. yyyy-MM-dd'T'HH:mm:ss.SSSX Etc/UTC true true 2020. 2. 28.
스프링 데이터 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.