[공부] 영상/스프링 부트 강의(16)
-
스프링 부트 강의 정리 (39~40 : 배포)
강의에서 시도하려는 배포 형태 1. 구글 클라우드 플랫폼을 사용한다. 2. 스프링 부트 어플리케이션을 로컬 이미지로 생성한다. 3. 쿠버네티스 배포한다. 1. /project 에서 메이븐으로 로컬 이미지 생성 mvn package /project/target 의 하위폴더에 jar 패키지가 생긴다. jar 파일을 실행시켜서 제대로 jar 패키지가 생성되었는지 확인한다. java -jar target/my-jar-project-1.0-SNAPSHOT.jar 2. jar 파일을 실행하는 Dockerfile 를 만든다. /project 에 Dockerfile 파일을 생성하여 넣는다. /project/dockerfile FROM openjdk:8 ADD JAR_FILE=./target/*jar ADD ${JAR_..
2019.05.26 -
스프링 부트 강의 정리 (35~37 : Actuator)
Actuator production 에서 App의 모니터링 기능을 제공한다. Auditing, health, metric 등을 자동으로 감시할 수 있도록 해준다. Spring security 를 사용할 경우 Actuator 의 접근 경로를 풀어주도록한다. webSecurity .ignoring() .requestMatchers(EndpointRequest.toAnyEndpoint()) Endpoint : 모니터링 하는 대상 Actuator를 Remote 로 모니터링 할 때 두가지 방법이 존재한다. 방법 1. JMX 방법 2. Http (web) Http web을 통해 endpoint 모니터링 하기 /actuator web을 통해 접근 가능한 actuator endpoint 목록 열람 /actuator/h..
2019.05.25 -
스프링 부트 강의 정리 (31~34 : NoSQL, API Client)
Spring boot with NoSQL : https://kok202.tistory.com/133?category=795332 Spring boot's NoSQL Spring Data에서 지원하는 NoSQL -> Redis, MongoDB, Neo4J, Elasticsearch, Redis, Cassandra ... -> 이러한 다양한 기술을 사용할 때 지정해야하는 Bean 설정들을 스프링 부트가 알아서 해준다. 아래 예제들은 l.. kok202.tistory.com Spring boot with API Client : https://kok202.tistory.com/132?category=782902 Spring boot's RestTemplate, WebClient Spring 에서 Remote R..
2019.05.19 -
스프링 부트 강의 정리 (28~30 : Database)
스프링 프레임워크는 SQL DB에 접근하기 위해 다양한 방법등을 지원한다. 방법 1. JDBC를 직접 사용하는 방법(JdbcTemplate) 방법 2. MyBatis(Mapper)를 사용하는 방법 방법 3. JPA(ORM)을 사용하는 방법 등 DataSource 스프링 부트는 DataSource를 필요한 곳 어디에서든 재사용한다. DataSource 를 정의하는 방법은 두가지가 있다. 방법 1. datasource를 커스텀하게 Bean 으로 등록하고 properties 이용하기 @Bean @ConfigurationProperties(prefix="app.datasource") public DataSource dataSource() { return new FancyDataSource(); } app.dat..
2019.05.19 -
스프링 부트 강의 정리 (26 ~ 27 : Security)
Security content 는 요청에따라 httpBasic 또는 fomLogin 중 어떤 것을 사용할지 판단하기 위해 Spring-security negotiation 전략을 사용한다. 스프링 부트 기본 설정 상으로 AuthenticationManager 유저가 하나 존재한다. 유저의 이름은 user이다. 패스워드는 INFO level의 logger 에서 랜덤하게 생성되서 출력된다. 원한다면 spring.security.user.name, spring.security.user.password 를 이용해서 수정할 수 있다. org.springframework.boot spring-boot-starter-security @Data public class User { private int id; priva..
2019.05.11 -
스프링 부트 강의 정리 (23 ~ 25 : 웹플럭스, 컨테이너)
웹플럭스 특징 1. Servlet 을 안씀 특징 2. Reactor 기능을 써서 구현 특징 3. depedency에 spring-web 과 spring-webflux 가 동시에 있으면 Spring MVC로 설정한다. 웹플럭스의 생김새 1 - Annotation 형태 - 맵핑(라우팅)과 핸들러의 병합 - Spring MVC 에서 쓰는 것과 똑같다. @RestController @RequestMapping("/users") public class UserController { @Autowired UserService userService; @GetMapping("/{userId}") public Mono getUser(@PathVariable Long userId) { return Mono.just(user..
2019.05.11