설정파일에 DB 정보와 Mail 발신인 정보가 그대로 노출될 경우 보안에 취약해질 수 있어 해당 정보를 암호화해서 넣어주거나 설정파일을 외부에 빼서 따로 관리해줘야 한다. Spring에는 Jasypt 라는 라이브러리로 암호화 시켜서 설정파일을 관리할 수 있다. Jasypt 라이브러리 등록 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5' 암호화 방식 및 키값을 설정하는 빈을 생성. @Configuration public class ApplicationConfig { @Bean(name="jasyptStringEncryptor") public StringEncryptor stringEncryptor() { String ke..
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause 내가 맞이한 오류는 위와 같은데 어떤 상황이었냐면 jar 를 배포했을때 Mybatis 조회쿼리를 호출하면 위와 같은 오류가 발생했다. 개발툴에서는 문제없이 구동되고 있었기 때문에 몰랐고, 배포하고 나서야 알게 되었다. 프로젝트의 Mybatis 는 mapper 방식과 dao SqlSession 방식 모두 쓰는 형태인데 그 중 dao SqlSession 방식은 구프로젝트의 뼈대 모..
간혹 사이트들을 연계해야 할때, 그 중에서도 api 없는 사이트의 데이터를 사용해야할 때, 하나의 웹에서 여러 DB를 연결 시켜 사용해야 할 때가 있다. 간단하게 DB Link 로 해결하려 했으나 메인으로 쓰는 DB와 타 사이트 DB가 달라서 복잡쿼리를 쓸때 제약이 쫌 발생해서 DB를 하나 더 연결하기로 했다. SpringBoot 는 Database 연결을 자동으로 해주기 때문에 다중 DB를 연결하려면 설정부를 재작성해줘야 한다. 일단 db 연동 정보를 추가해준다. spring: datasource: driver-class-name: org.mariadb.jdbc.Driver jdbc-url: jdbc:mariadb://localhost:3306/jpa username: root password: ***..
사내에 querydsl 설정을 아주 잘 하는 동료가 있다면 문제가 없겠지만,저와 같이 홀로 분투하시는 분들을 위해 저도 지금까지 이 방법 저 방법 해오다가깔끔하게 해결된 상태를 공유하고자 합니다. 저도 Q클래스 생성하는 법을 여러 설정법으로 올렸었고,마주하던 여러 오류상황들을 조치했던 글을 서너개 포스팅 했는데...지속적으로 불편한 상황들이 계속 발생 되었고, 주변 동료들에게도 빈번하게 발생하여이 상황을 문제없게 해결하고자 QueryDSL 설정을 다시 건드려보게 되었습니다. 초반에는 설정에 대한 이해가 부족한 상태였던 것 같고 지속적으로 이 부분을 마주하다 보니 깨달음이 온 것 같네요. 이번 포스트는 인텔리제이에서의 방법입니다. 이클립스나 STS 를 사용하시는 분들은 아래 포스트로 진행하..
input file로 업로드를 하고 업로드된 파일에 다운로드를 링크를 a 태그로 걸어 다운로드 하기. 과거 spring 에서는 tomcat server.xml 에 다운로드 폴더를 context path에 추가하고 /도메인/{#context path#}/{#파일명#} 이런식으로 다운로드 url을 간단하게 생성해서 썼었었다. 하지만 springboot 에서는 내장 tomcat이 자동으로 설정되기 때문에 docbase 를 내가 application.yml 에 지정하긴 힘들고 (변수 발생 가능) EmbeddedServletContainerCustomizer 인터페이스로 톰캣 구성을 설정해 줄 수는 있는데... 그냥 파일다운로드 컨트롤러 하나 생성하는게 더 올바른 방법일 것 같음 ㅋㅋㅋ 위 이미지 업로드 파일을 ..
프로젝트에 QueryDsl 을 잘 적용하여 진행중에 갑자기 느닷없이 빌드오류가 발생해서 봤더니 예전에 발생했던 Qclass 심볼을 찾을 수 없다는 오류... D:/GitHub/sample/src/main/java/.../SampleCustomRepository.java:6:36 java: cannot find symbol symbol: class QSampleEntity location: package com....sample.entity 아래 글에서 gradle 설정으로 해결을 했던 상황이기 때문에 동일 문제 아닐 것이라 보고 다른 케이스를 찾아보았다. [SpringBoot] QueryDSL Q클래스 빌드오류 해결 (feat.intelliJ) 지난번 이클립스(STS)와 인텔리제이에서 QueryDSL Q..