Back-end
-
JPA - 관계형 데이터베이스와 자바Back-end/JPA 2020. 6. 30. 16:14
관계형 데이터베이스와 자바 JPA를 공부하기 전 데이터베이스와 자바의 관계를 알아보며 JPA가 탄생한 배경에 대해서 알아보겠습니다. JDBC JDBC는 데이터베이스와 자바를 연결하는 고리의 역할을 합니다. JDBC를 활용하여 아래와 같은 기능을 통해 연결합니다. DataSource / DriverManager Connection PreparedStatement JDBC 연동하기 저는 postgresql를 Docker를 활용해 실행하고 연동하겠습니다. 만약 다른 DB를 사용하셔도 상관은 없지만 sql문법과 Docker 명령어가 조금 다를 수 있습니다. Docker 다운로드 맥 윈도우 postgresql 사용법 : postgresql 포스팅 MySQL 사용법 : MySQL 포스팅 docker로 Postgre..
-
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(계정)을 생성해 줍니다. 실습을 통해서 시큐리티가 어떻게 작동하는지 학습해보겠..