Back-end/Spring
-
SpringBoot - Actuator AdminBack-end/Spring 2020. 6. 28. 00:18
Actuator Admin 스프링 진영에서 제공하는 프로젝트가 아니고 제3자가 오픈소스로 제공하는 애플리케이션입니다. 보다 편리하게 Actuator를 확인한 수 있습니다. Client, Server 두개 프로젝트가 필요합니다. 참고자료 : Actuator Admin 홈페이지 Actuator Server 프로젝트 의존성 추가 de.codecentric spring-boot-admin-starter-server 2.1.4 의존성을 추가합니다. @EnableAdminServer @SpringBootApplication @EnableAdminServer public class Application { public static void main(String[] args) { SpringApplication.run..
-
SpringBoot - Actuator JMX, HTTPBack-end/Spring 2020. 6. 28. 00:16
Actuator 이전 포스팅에 이어서 Actuator를 사용하는 방법에 대해 계속 학습해 보겠습니다. JMX JConsole JConsole은 자바에서 지원하는 JMX입니다. 참고자료 : 공식문서 jconsole 터미널에서 jconsole을 입력합니다. jconsole을 입력하면 위와같은 창이 뜹니다. 현재 로컬 상태이니 해당 프로젝트를 클릭하고 Connect합니다. SSL을 적용하지 않은 상태이므로 Insecure connection을 클릭합니다. 접속하면 여러가지 정보들을 확인 할 수 있습니다. Endpoints를 확인하기 위해 MBeans에서 애플리케이션을 확인합니다. 빈을 확인하기 위해 누른 창에서 도저히 사람의 눈으로 확인할 수 없는 긴 영어가 출력됩니다. 전 이걸 읽느니 차라리 죽음을 택하겠습..
-
SpringBoot - Actuator의 개념Back-end/Spring 2020. 6. 28. 00:15
Actuator Actuator을 사용하면 스프링 애플리케이션 운영중에 주시할 수 있는 여러가지 유용한 정보들을 제공합니다. 이렇게 얻은 정보들을 Endpoint를 통해서 제공해줍니다. Actuator 의존성 추가 org.springframework.boot spring-boot-starter-actuator 의존성을 추가해줍니다. Endpoints Actuator 의존성을 추가해주면 Actuator Endpoints 정보들이 자동으로 활성화됩니다. 다양한 Endpoints를 제공합니다. JMX또는 HTTP를 통해 접근가능합니다. shutdown을 제외한 모든 Endpoint는 기본적으로 활성화 상태입니다. Endpoints 정보들 auditevents : 인증정보(인증정보 획득, 실패) 이벤트 be..
-
SpringBoot - RestClient 커스텀Back-end/Spring 2020. 6. 28. 00:14
RestClient 커스텀 이번 주제는 저번에 다루었던 RestClient를 커스터마이징 하는 방법에 대해 공부해보려 합니다. 때문에 이전 RestClient 주제에 대한 내용에 대한 이해와 코드가 있어야 합니다. RestClient 포스팅을 참고하셔서 이번 주제를 학습하시면 됩니다. HTTP 클라이언트 WebClient 기본으로 Reactor Netty의 HTTP 클라이언트 사용 커스터마이징 로컬 커스터마이징 글로벌 커스터마이징 WebClientCustomizer 빈 재정의 RestTemplate 기본으로 java.net.HttpURLConnection 사용 커스터마이징 로컬 커스터마이징 글로벌 커스터마이징 RestTemplateCustomizer 빈 재정의 WebClient 지역 커스터마이징 지역적으..
-
SpringBoot - RestClientBack-end/Spring 2020. 6. 28. 00:12
RestClient Rest를 클라이언트에서 요청하였을 때 어떻게 응답할지 결정하는 방식입니다. RestClient에는 두 종류가 있는데 각각의 특징과 사용법을 학습해보겠습니다. RestTemplate Blocking I/O 기반의 Synchronous(동기식) API입니다. RestTemplateAutoConfiguration에서 자동설정 됩니다. 프로젝트에 spring-web 의존성이 있다면 RestTemplateBuilder를 빈으로 등록합니다. 참고자료 : 스프링공식문서 WebClient Non-Blocking I/O 기반의 Asynchronous(비동기식) API WebClientAutoConfiguration에서 자동설정 됩니다. 프로젝트에 spring-webflux 의존성이 있다면 Web..
-
SpringBoot - Security 커스터마이징Back-end/Spring 2020. 6. 28. 00:10
Security 커스터마이징 시큐리티를 커스텀하여 내가 원하는 페이지에서만 로그인을 할 수 있도록 구현하는 방법을 학습하겠습니다. 이 포스팅은 이전에 Security의 개념과 테스트에 작성된 코드의 이해와 내용이 꼭 필요하니 참고해주시면 되겠습니다. 시작 전 세팅되어있어야 할 것들 : Controller 클래스, HTML , thymeleaf, security 의존성 추가 WebSecurityConfigurerAdapter Config 패키지 내에 SecurityConfig 클래스를 생성하여 WebSecurityConfigurerAdapter를 상속받습니다. 상속받은 후 configure 메소드를 오버라이딩 합니다. configure 메소드 구현 @Configuration public class Secu..
-
SpringBoot - Security의 개념과 테스트Back-end/Spring 2020. 6. 28. 00:08
Security(시큐리티) 스프링에서는 시큐리티를 제공함으로서 여러 방면에서 보안 기능을 지원합니다. 웹시큐리티 메소드 시큐리티 다양한인증방법지원 LDAP, 폼 인증, Basic 인증, OAuth, … 등 참고자료 : 스프링공식문서 SpringBoot Security 스프링 부트 자체 시큐리티 자동 설정이 있습니다. SecurityAutoConfiguration : 시큐리티에 대한 설정 값들을 자동 실행해줍니다. 만약 사용하지 않고 커스텀을 원한다면 WebSecurityConfigurerAdapter를 상속받아 커스텀 할 수 있습니다. UserDetailsServiceAutoConfiguration : 자동으로 랜덤한 User(계정)을 생성해 줍니다. 실습을 통해서 시큐리티가 어떻게 작동하는지 학습해보겠..
-
SpringBoot - 데이터베이스 Migration(마이그레이션)Back-end/Spring 2020. 6. 28. 00:06
데이터베이스 Migration(마이그레이션) 스키마 혹은 데이터를 변경할 때 버전관리 형식으로 관리가 가능합니다. 대표적으로 Flyway와 Liquibase가 있습니다. 이중에 Flyway를 대표로 삼아 공부해보겠습니다. 도중 나오는 코드들은 이전 포스트에서 그대로 가져왔습니다. 코드가 필요하시면 JPA 연동하기 포스팅을 참고하시면 됩니다. 참고자료 : 스프링공식홈페이지, flyway홈페이지 Flyway 의존성 추가 org.flywaydb flyway-core 의존성을 추가합니다. 마이그레이션 마이그레이션 디렉토리 /src/resources에 db/migration 경로를 생성합니다. spring.flyway.locations 을 활용하여도 됩니다. 마이그레이션 파일 이름 V숫자__이름.sql (언더바(..