일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- springframework
- 자바
- 코테
- spring boot
- @value
- 레오폴드
- 쿼리
- 롤백
- java
- springboot
- Serializable
- 트랜잭션
- 개햄문자치환
- sql
- 660mbt
- Object-oriented
- 개행문자
- spring
- 다중DB
- 개발환경
- value 어노테이션
- 업로드 파일 용량
- mysql
- Spring Framework
- 줄바꿈
- Docker
- application.properties
- 직렬화
- query
- vue.js
- Today
- Total
목록Study/Spring Framework (4)
supremest.35 개발 블로그
필드 주입 setter 주입 생성자 주입

@Value 어노테이션을 이용해서 테스트 환경에서와 실서비스 환경에서 메일 전송 문구를 다르게 하려고 했다. 환경변수 env 값은 dev, prod 로 나눴다. dev 에서는 '테스트'라는 문구를 추가하고 prod에는 사용자가 등록한 폼을 그대로 전송했다. 메일 전송 로직을 구현한 뒤 해당 클래스에 @Component 어노테이션을 붙였다. 메일 전송 메소드(test()메소드)를 컨트롤러에서 실행했다. 환경변수 env값이 local이었기에 로그에 local라는 값이 찍혀야하지만 null값이 찍혔다. 구글링 결과 이유를 찾았다. 문제는 컨트롤러에서 test()메서드를 실행하기 전 testComponent객체를 생성하는 과정에서 문제가 발생했다. 스프링 빈 객체는 기본적으로 싱글톤으로 생성된다. TestCom..

실제 서비스를 운영하기 위해서는 서비스가 실제로 운영되는 서버만이 아니라 개발, 테스트 서버 등 여러 환경이 필요하다. application.properties 파일은 서비스가 다양한 환경에서 동작할 수 있도록 필요한 설정값들을 세팅하는데 사용된다. 각 환경에 따라 다른 DB서버, 로그 사용여부 등을 설정할 수 있다. application.properties 설정 방법 spring.profiles.active=${ENV} application.properties에 다음과 같이 정의한다면 환경변수 ENV값을 spring.profiles.active에 세팅할 수 있다. Edit Configurations > Configuration 에서 환경 변수를 설정할 수 있다. 각 개발 환경별 설정 파일 세팅 파일명 ..

운영중인 서비스를 중단시키고 작업을 진행해야할 때, 사용자의 모든 요청을 서비스 중단 페이지로 이동하게끔 구현하고 작업을 해야할 때가 있다. 그럴때 모든 요청을 서비스 중단 페이지로 이동시키게끔 인터셉터를 통해 구현할 수 있다. 구현 이동시킬 페이지 구현 및 컨트롤러 구현 "/" 도메인 -> index.html 호출 "/notice" 도메인 -> notice.html 호출 "/notice" uri를 제외한 모든 요청을 "/notice"로 리다이렉트 notice.html에 적용된 이미지, js, css 파일을 예외시키기 위한 설정 결과 메인페이지인 localhost:8080으로 이동시 localhost:8080/notice로 리다이렉트됨