# application.yml

17개의 포스트
post-thumbnail

[AWS] EC2&RDS git project test error

글을 쓰기 전에 친구가 예전에 공부할 때 책을 그렇게 권장하지는 않는다고 했었던 기억이 있다. 사람들이 대부분 공부할 때는 책을 가지고 공부를 해야 나중에 잊었을 때 금방 기억할 수 있게 도와주고 모르는 부분만 슥 볼 수 있기에 선호도가 높은 걸로 알고 있는데, 이번 aws공부를 하면서 친구가 왜 그런 말을 했는지 알 것 같다.(물론 지금 글을 쓰는 목적이랑 관련이 없지만 또 아예 없는건 아니니까..) 📌 error 에러가 나는 것은 다음과 같았다. ec2에서 git으로 가져온 프로젝트를 테스트 하는데 (명령어 ./gradlew test)테스트 코드에서 자꾸 통과를 못하더라. 📌 이전 세팅 우리는 로컬환경에서 시작했기 때문에 rds연결을 새로이 해주어야 한다. 앞서 진행한 것들은 환경을 만들어준 것이지 연결된 것이 아니기 때문에 프로젝트를 실행했을 때 자연스럽게 h2가 아닌 mysql(RDS)로 연결을 해주어야 한다. 그렇기에 가장 중요한 것은

3일 전
·
0개의 댓글
·
post-thumbnail

spring cloud config로 환경변수 관리

현재 소스에 application.yml이 포함되서 github에 올라가고 있는데 중요 정보들이 포함되어 있으니 파일을 따로 관리해야 한다. > 기본 세팅 application.yml은 그대로 github에 올리지만, db정보나 기타 중요한 정보들은 application-dev.yml, application-prd.yml처럼 환경에 따라 정보 가져올 수 있도록 한다. 이런 파일들은 aws s3에서 관리한다. -> spring cloud config를 사용해보자 🤔 spring cloud config는 무엇인가? 공식문서 (https://docs.spring.io/spring-cloud-config/docs/current/reference/html/) -> 여러 서비스들의 환경 설정 정보를 중앙에 모아 관리하는 라이브러리 ![](https://velog.velcdn.com/images/jaeyeon23/post/14ba3cff-1f0f-

2023년 9월 6일
·
0개의 댓글
·

application.yml .properties 차이

스프링부트를 공부하다보면 application.yml 혹은 application.properties 파일을 보게된다. 둘다 서버정보나 profile 등을 설정할 수 있는 외부설정파일이지만, 어떤 경우에 yml을 쓰고 properties를 쓰는지 궁금해서 공부해보고자 한다. 외부설정파일 실제 프로젝트를 진행하다보면 dev, stg, prod 등 운영환경에 따라 서버 설정이나, 데이터베이스 설정 등을 다르게 설정한다. 이렇게 스프링부트 외적인 시스템과 연동할때 필요한 profile들을 정의하거나 프로그램이 실행되는데 필요한 속성들을 정의할때 application.yml application.properties를 사용하게된다. 스프링 initializr를 통해 프로젝트를 생성하면 application.properties가 생성되지만, 종종 yml파일로 변경해서 사용하는 경우가 있다. application.properties properties파일은 key=value

2023년 8월 7일
·
0개의 댓글
·
post-thumbnail

[Spring Boot] 멀티 모듈 환경에서 프로젝트 환경설정관리의 중요성(feat. application.yml)

상황 진행하고있는 프로젝트의 멀티 모듈 프로젝트 설정은 각 모듈이 관리하고 있다. 즉, 프로젝트 설정의 중복을 허용한 상황이다. 그렇다면 기존에 왜 중복을 허용했을까? 3개의 모듈이 사용하는 설정, 2개의 모듈이 사용하는 설정, 1개의 모듈만 사용하는 설정 등 다양한 상황이 존재했다. 기존 중복의 정도가 많이 중복되거나 문제가 될 것 같지 않았다. 사실 core를 통해 깔끔하게 관리할 수 있다는 것을 알았으나 개선 사항으로 미뤘다. 추후에 어떤 결과를 낳았는지,,, 곧 알 수 있다. 이와 같은 상태로 프로젝트를 진행하는중, mongodb에 저장하는 로직이 core 모듈에 존재하기 때문에 core의 application.yml에 mongodb의 uri를 설정해주고, loca

2023년 8월 5일
·
0개의 댓글
·
post-thumbnail

[Elastic Beanstalk] Elastic Beanstalk 배포 시 application.yml 분리

환경 Elastic Beanstalk Github Actions Spring boot 2.7.9 + JAVA 11 1. application.yml을 Profile에 따라 분리 application.yml application.yml에서 각 Profiles에 따른 설정값을 설정하고, Profiles Active에 따라서 application 설정이 달라진다. application-db.yml application.yml에 따라 설정된 Profiles Active에 따라 설정값으로 작동된다. application.yml에 local로 설정되어 있기 때문에 기본값은 local로 작동된다. 2. 배포 시 Profiles Active 변경 Elastic B

2023년 6월 1일
·
0개의 댓글
·

Application.properties 를 Application.yml로 바꾸기

Application.properties 란? Spring boot 는 외부 구성을 사용하여 속성을 정의하는 관행을 가지고 있습니다. 이를 통해 다른 환경에서 동일한 어플리케이션을 운영할 수 있습니다. 주로 속성파일, yaml 파일, 환경 변수, 및 명령 줄 인수를 사용합니다. 왜 사용할까? 아래는 application.properties 의 예시입니다. data source 에 대한 정보를 담고 있는 문장들입니다. 각 패키지의 계층적인 구조를 .을 통하여 구분하고 있습니다. 아래는 YAML 파일의 형식 예시입니다. 패키지의 계층적인 구조를 한 눈에 보기 쉽고, 코드의 반복도 줄어 직관성도 올라간 것을 확인할 수 있습니다. 그러면 기존의 코드를 어떻게 바꿀 수 있을까요? YAML로 변경하기 YAML 에는

2023년 5월 20일
·
0개의 댓글
·
post-thumbnail

Jasypt와 Github Secrets로 Github 개인 정보 유출 방지하기

프로젝트를 깃허브에 올릴 때 가장 신경써야할 부분은 바로 보안이라고 생각합니다. 실제로, 스터디원 중에 aws 정보가 노출돼서 요금 폭탄을 맞을뻔 했다는 이야기를 듣고(ㄷㄷ) 스프링 프로젝트의 보안을 어떻게 하면 강화할 수 있을까에 대해 고민을 많이 했습니다. 돈 아낀다고 프리티어 쓰는데 몇 십, 몇 백 만원 요금 맞으면 피눈물 날듯요 ㅠㅠ 그래서 저는 Github에서 개인정보를 보호하기 위해 Jasypt를 사용했습니다. Jasypt 개념 Jasypt는 자바 라이브러리로 쉽게 암호화 기능을 사용할 수 있도록 제공해줍니다. 보통 스프링 프로젝트의 application.yml파일에서 개인 정보를 암호화(encryption)할 때 많이 사용됩니다. Jasypt 적용하기 1. 의

2023년 5월 10일
·
2개의 댓글
·
post-thumbnail

Jasypt 로 yml 파일 암호화 하기

✏️ Jasypt 란 yml 파일에 특정 값을 암호화해주는 라이브러리 외부 저장소에 프로젝트를 저장하고 공개할 때 민감한 정보를 노출시키지 않기 위해서 사용한다. ✏️ Jaypt 환경설정 📍 dependency 📍 application yml 환경설정 bean 의 값은 암호화와 복호화를 하는 method 의 name 값을 뜻한다. ✏️ 특정 값 암호화 하기 📍 Jasypt 암호화 복호화의 원리 특정 text 를 암호화 하기 위해서 암호키가 필요하다. 암호키는 정해저있지 않고 사용자가 임의로 정하면 된다. 암호화된 코드와 암호키만 갖고있다면 어느환경에서든 Jaypt 으로 복호화를 할 수 있다. 암호화된 코드는 암호화를 할 때 마다 모두 다르게 생성되지만 암호키로 복호화를 하면 항상 같은 text 값을 가리키게 된다. 📍 암호화

2023년 4월 17일
·
0개의 댓글
·

Project setting - H2 환경설정

🔗 dependencies 설정 - Assert J , Query DSL 🔗 Preferences 설정 🔗 aplication.yml - My SQL , JAP , Thymeleaf 설정 ✏️ H2 DB 와 JPA 환경설정 application.yml 에 환경설정 하기 [🔗 환경설정의 자세한 내용](https://github.com/choideakook/TIL/blob/main/Spring/3%20JPA%20%ED%99%9C%EC%9A%A91/1%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%20%ED%99%98%

2023년 3월 18일
·
0개의 댓글
·

[Springboot] 환경 설정 파일(.yml) 분리하기 + JavaMailSender Bean 오류 해결

현재 프로젝트에서 데이터베이스를 2가지 사용하고 있습니다. 로컬 DB AWS의 RDS 서버 그래서 기존의 datasource url을 로컬 DB에서 RDS 서버로 바꿔서 데이터베이스 서버에서 잘 작동하는지 테스트 했습니다. 하지만, RDS 서버와 연결했다가 다시 로컬 DB에 연결해서 테스트를 보려니까 url도 계속 수정해야하고 username, password도 수정을 해야하는 불편함이 있었습니다. 그래서 환경 설정 파일을 분리하기로 했습니다. 제 기존 application.yml은 이렇게 작성했습니다. application.yml을 application-local.yml(local DB 사용 용도), application-dev.yml(RDS DB 사용 용도)로 나눴습니다. 기존의 application.yml의 내용을 DB파트를 제외하고 복사해서 application-local.yml, `application-dev.yml

2023년 2월 10일
·
2개의 댓글
·
post-thumbnail

[Springboot]yml 오류

김영한 JPA 학습 중에 test 작동 중 겉으로 오류가 없음에도 아래와 같은 코드가 작동하면서 H2 데이터베이스에 테이블이 추가가 안되었다. 구글링을 통해 많은 시간을 소비한 결과, 내가 yml 설정 파일을 처음이용해서 생긴 기초적인 오류임을 알게 되었다. 기존 설정 파일처럼 띄어쓰기 무시를 했었는데 상위 설정 밑 하위 설정이 따로 있어 띄어쓰기를 무시하면서 h2설정이 작동이 안되어 오류가 발생한 것이다. 아래처럼 설정하니 다시 잘 작동하였다.

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

스프링 설정파일(application.yml, application.properties) 로드 시점

스프링 설정파일(application.yml, application.properties)은 컴파일이 아닌 런타임 시점에 로드된다. 직접 테스트 해본 결과 아래와 같다. 설정파일이 올바르지 않으면 실행할 수 없는 애플리케이션이다. > 참고로 설정파일은 app 외부의 config/ 디렉토리에 정의되어있다. 설정파일 삭제 bootJar 생성 -> 성공 bootJar 실행(java -jar ...) -> 실패 설정파일 복구 bootJar 실행(java -jar ...) -> 성공 따라서 실행 시점의 프로파일을 달리하고 싶으면 재빌드할 필요없이 아래와 같이 하면 된다. config/ 에 설정파일이 정의된 경우, 빌드 서버와 실행 서버가 다르다면 jar 파일 COPY 시에 설정파일도 함께 COPY 해야한다. **/config/application.yml 이 아닌, `app/src/main/

2022년 9월 21일
·
0개의 댓글
·
post-thumbnail

기타 공부

@SpringBootApplication SpringBootApplication 어노테이션은 스프링 부트의 자동 설정, 스프링 Bean 읽기와 생성 자동 설정 등을 해주는 어노테이션입니다. 해당 어노테이션이 있는 위치부터 설정을 읽어나가기 때문에 이 어노테이션을 포함하고 있는 클래스는 항상 프로젝트의 최상단에 위치해야만 합니다. 해당 어노테이션의 내부구조는 다음과 같습니다. 중요하게 봐야 할 3가지 어노테이션을 포함하고 있습니다. EnableAutoConfiguration CompnentScan SpringBootConfiguration 각각의 어노테이션의 역할을 알아보겠습니다. @EnableAutoConfiguration - 설정 자동 등록 Spring boot의 핵심으로 미리 정의되어 있는 Bean들을 가져와서 등록해줍니다. 미리 정의되어 있는 Bean들은 spring-boot-autoconfigure > META-INF > spring.factor

2022년 9월 5일
·
0개의 댓글
·

[Spring] application.yml

application.yml application 및 spring의 설정에서 사용할 여러 가지 property를 정의한 파일이다. yml은 형식이며 다른 형식(.properties, .ini 등)으로도 표현이 가능하다. 위치 >src/main/resources 특징 들여쓰기(띄어쓰기)로 구분하여 보기 편하다. profile을 지정해서 환경(기본 환경, 개발 환경)에 따라 설정을 다르게 할 수 있다. 파일 형식은 .yml, .yaml 둘다 가능하다. Spring에선 pom.xml에서 설정을 해야하지만, Spring Boot에서는 자동으로 찾아준다. ---을 사용해서 설정값을 구분한다. 구성 실행할 환경 실행할 포트 번호 연결할 DB 접속 정보 JPA 세부 세팅 콘솔 사용 여부 파라미터 확인 등등 예시) h2, JPA 설정이 들어간 application.yml 예시) 여러 개의 yml 설정

2022년 5월 4일
·
0개의 댓글
·

VS-CODE Spring Boot 테스트 실행 환경 분리하기

VSCODE에서는 test 하위에 application.yml을 만들어도 우선순위가 적용되지 않는다. 반면 인텔리제이에서는 main 하위의 application.yml보다 test 하위의 application.yml의 우선순위가 적용된다. 따라서 vs-code에서는 아래와 같이 환경을 분리해주어야 한다. yml에 테스트 환경 추가. 테스트 클래스에 @ActiveProfiles 추가 코드를 적용한 후 지정한 테스트 환경으로 정상동작하는지 확인해보면 된다. 참고: Spring Boot 테스트 실행환경 분리하기 [스프링 공식홈](https://spring.io/blog/2020/08/14/confi

2022년 3월 8일
·
0개의 댓글
·

springboot error

A bean with that name has already been defined 오류 APPLICATION FAILED TO START Description: The bean 'sampleChunkJob', defined in class path resource [] and overriding is disabled. Action: Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true 원인 : 이미 다른곳에서 문제가 되는 bean을 생성해서 생긴 문제 해결 : application.yml에 spring.main.allow-bean-definition-overriding=true 추가로 해결

2021년 9월 29일
·
0개의 댓글
·
post-thumbnail

Eclipse(이클립스) 테마 적용 후 application.yml 색상 변경

[Windows] - [Preferences] - [General] - [Appearance] 기본 테마보다 조금 더 고급스러운(?) 다크 테마를 적용하면 아래 처럼 application.yml의 글자 색상이 확인하기 힘들어 지기 때문에 설정을 변경한다 [Windows] - [Preferences] - [YEdit Preferances] - [Color Preferances]

2021년 2월 10일
·
0개의 댓글
·