본문 바로가기

반응형

SpringBoot

(16)
[gradle] 간단하게 spring boot 프로젝트 gradle을 이용해서 docker로 올리기 docker를 애용하게 되면서 dockerfile을 이용하게 되는데 gradle에서 제공하는 buildImage를 이용해 쉽게 docker image를 생성할 수 있습니다. 1. 프로젝트 준비 docker화 하고자 하는 프로젝트를 준비합니다. 2. gradle 실행 인텔리제이 기준으로 gradle에서 bootBuildImage를 클릭합니다. 또는 gradle에 bootBuildImage를 입력합니다. 3. docker images 확인 아래 명령어로 확인해보면 이미지가 추가 된 것을 확인 할 수 있습니다. > docker images 4. docker run 환경에 맞게 설정 후 docker run을 하면 Spring boot가 실행되는걸 확인할 수 있습니다. > docker run -it --name ..
[spring boot 설정하기-14] spring cloud config(1) 설정 및 테스트 소스 기존 방식은 환경 설정 파일이 어플리케이션에 패키징 되어 있어서 환경설정이 변경되면 전체를 다시 빌드해야 합니다. 환경설정을 외부에 두어 환경 설정과 어플리케이션을 분리하여 빌드 없이 환경설정 변경을 적용할 수 있도록 합니다. Spring Boot Cloud Server는 모든 환경설정 속성 정보를 관리할 수 있게 외부화된 환경설정 서버입니다. actuator로 서버 구동을 확인할 수 있습니다. Config Server의 동작 흐름 마이크로 서비스 인스턴스가 실행하면서 환경설정 정보를 Config Server에 접근 가져온 환경설정 정보를 성능 향상을 위해 로컬에 캐시 Config Server는 환경설정 정보가 변경되면 모든 마이크로서비스에 전파 마이크로 서비스는 변경 사항을 로컬 캐시에 적용 Sprin..
[spring boot 설정하기-11] actuator 설정 및 테스트 소스 서비스를 하다보면 각 인스턴스에 대한 CPU, memory, Heap 등을 개별 모니터링하기보다는 한 곳에서 확인할 수 있는 기능을 제공해줍니다. actuator는 endpoint를 이용해 응용 프로그램을 확인할 수 있습니다. 각 endpoint는 http 또는 jmx를 통해 활성화와 비활성화를 할 수 있습니다. 기본적으로 /actuator 로 매핑되며 endpoint는 /actuator/health에 매핑됩니다. 관련 내용은 아래 사이트에서 확인해볼 수 있습니다. docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html www.baeldung.com/spring-boot-actuators 1. endpoin..
[spring boot 설정하기-10] dev-tools 설정 및 테스트 소스 개발을 하다보면 수정 된 소스가 자동으로 반영되도록 해서 편리하게 테스트 되기 바랄 때 사용합니다. 관련 정보는 아래 사이트에서 확인할 수 있습니다. docs.spring.io/spring-boot/docs/1.5.16.RELEASE/reference/html/using-boot-devtools.html www.baeldung.com/spring-boot-devtools Spring boot devtools에서 제공하는 기능 1. Property Defaults thymeleaf는 캐싱 기능을 사용하는데 캐싱되어 있으면 thymeleaf에 개발된 내용이 반영이 되지 않아 강력 새로 고침을 해야 하는 경우가 생깁니다. 이를 위해 cache를 false로 적용해 캐싱하지 않도록 적용할 수 있습니다. 캐싱을 ..
[spring boot 설정하기-9] oauth2 설정 및 테스트 소스 초기에는 오픈아이디 규격이 제각각이었으나 oauth2에서는 표준 규격에 맞게 로그인 API를 제공하고 있습니다. 기존 가입했던 플랫폼에서 인증을 대신하고 사용자의 정보를 가입하려는 플랫폼에 전달하는 방식입니다. 페이코 인증절차 X라는 서비스에서 가입 및 로그인을 간편로그인으로 했을 경우입니다. X 서비스에서 인증 요청을 페이코에 하고 페이코는 사용자의 정보를 기반으로 인증 코드와 토큰을 발행합니다. 인증이 완료 되면 사용자는 기존에 페이코에 가입 했던 정보를 X 서비에서 그대로 사용할 수 있습니다. 1. 간편 로그인 플랫폼 생성(+google) console.cloud.google.com/ 사이트에 접속합니다. 1-1. API 플랫폼 사이트에 접속 1-2. 인증 동의 작성 1-3. 사용자 인증 정보 만들..
[Spring] rerun spring boot configuration annotation processor to update grenerated metadata 상황 Properties정보를 읽어오기 위해 Intellij에서 spring boot @ConfigurationProperties(prefix = "app")를 추가하면서 오류가 발생했습니다. 문제 파악 Intellij 2017.02 버전과 gradle 4.1 버전이 업데이트 되면서 필수적으로 추가해야 하는 라이브러리가 생겼다고 합니다. 해결 방법 maven dependencies { annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'} gradle annotationProcessor 'org.springframework.boot:spring-b..
[spring boot 설정하기-8] security 설정 및 테스트 소스 인증은 어디서나 중요한 부분인데 spring boot에서는 기본적으로 제공해주는 security가 있습니다. 설정하는 방법과 사용하는 방법이 방대하여 기본적인 설정방법만 작성합니다. 관련 정보는 아래 사이트에서 확인할 수 있습니다. docs.spring.io/spring-security/site/docs/5.0.19.RELEASE/reference/htmlsingle/ spring.io/guides/gs/securing-web/ 1. 의존성 추가 로그인 화면을 만들기 위해 "thymeleaf"도 포함합니다. implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot..
[spring boot 설정하기-7] restdocs 설정 및 테스트 소스 swagger와 유사하게 API를 자동으로 문서화할 수 있도록 도와줍니다. swagger의 장점은 적용하기 쉽고, api 테스트 화면 제공이고 단점으로는 어노테이션을 추가, 동기화가 불일치할 수 있음 restdocs의 장점은 코드에 영향을 받지 않고 테스트가 성공 후 문서화가 되고 단점은 적용이 어려움 아래 사이트에서 관련 정보를 얻을 수 있습니다. docs.spring.io/spring-restdocs/docs/current/reference/html5/ www.baeldung.com/spring-rest-docs 1. 의존성 추가 plugins { id 'org.asciidoctor.convert' version "1.5.6" // (1) } dependencies { asciidoctor 'org...

반응형