![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xyYhP/btqHjq4T5zg/0G1ypWpKgoZnmPlNvk9F0k/img.png)
properties 파일을 구성할때 암호화가 필요한 부분들이 존재한다. 가장 대표적인 예가 datasource의 username, password 부분이다. 이것들은 정말 다양한 방법을 통해서 암호화가 되고 있지만 요즘 추세는 datasource의 설정을 ApplicationContext가 아닌 properties(yml) 파일에서 하므로 여기에서 암호화를 하는 방법에 대해서 알아보자. properties 파일에서 암호화를 쉽게 할수 있도록 도와주는 Jasypt (Java Simplified Encryption) 라는 것이 있다. 이것을 사용해서 암호화를 해보자. Springboot에서 Jasypt를 사용하여 properties 파일 암호화 pom.xml com.github.ulisesbocchio ja..
Spring에서 외부 환경변수의 값을 가지고 오는 방법은 다양하다. 그중 하나가 PropertyPlaceholderConfigurer 를 통해서 가져오는 방법이다. 가장 일반적인 방법이다. 사용법은 다음과 같다. classpath*:/config/test.properties 위와 같이 작성을 잘 했는데 뭘 해도 값을 못가져오는 경우가 있다. 이를테면 java에서 @Value("${testkey}") 이런식으로 test.properties에 정의한 testkey에 대한 value를 얻는다거나 ApplicationContextAware 의 구현체로부터 ApplicationContext를 가지고 와서 getEnvironment().getProperty("testkey") 를 해서 가지고 온다거나 하는 방식 모..
spring의 환경변수를 정의하는 역할을 하고 있는 application.properties 파일의 내용을 가지고 오는 방법은 여러가지가 있다. 하지만 이 여러가지 방법들은 사용을 하기 번거로울수도 있고 또한 bean이 아닌 POJO에서 바로 사용할수는 없다. 하지만 프로젝트를 진행하다보면 분명 이런 POJO에서도 application.properties에 있는 값들을 사용하고 싶은 경우가 분명히 있다. 이경우 매번 applicationContext를 가지고 와서 getBean 하여 사용을 하는것은 바람직하지 않기에 이를 Util 클래스로 만들어서 쉽고 간단하게 사용할 수 있도록 해보자. ApplicationContextServe.java import org.springframework.beans.Bea..
spring에서 mysql datasource를 설정하는 방법이다. pom.xml 에서 mysql 연동을 위한 driver를 가지고 온다. mysql mysql-connector-java 8.0.20 applicationContext에서 datasource 설정을 다음과 같이 한다. (xml config version) url 에서 ip, port, dbname을, username, password를 해당 db의 정보에 맞게 수정해 주면 된다. url 뒤에 옵션으로 붙은 useSSL, serverTimezone, useUnicode, characterEncoding 등은 일반적은 프로젝트에서 사용되는 옵션이다. timezone과 encoding 등의 이슈를 잡아준다. 끝!