[공부] 영상(40)
-
스프링 부트 강의 정리 (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 -
스프링 부트 강의 정리 (21~22 : 테스트 자동 설정 Annotations)
spring-boot-test-autoconfigure Configuration 을 슬라이싱해서 원하는 설정파일만 불러와서 테스트를 진행할 수 있도록 도와준다. 대부분의 @~Test 은 excludeAutoConfiguration 을 지원하므로 이를 사용하면 된다. (ex @JsonTest) 슬라이싱에 관심이 없으면 그냥 @SpringBootTest를 쓰면 된다. 말했다시피 @SpringBootTest는 메인 어플리케이션에 등록된 모든 설정파일을 읽어들인다. 그러므로 가능하면 @EnableBatchProcessing 과 같은 특정 목적을 위한 설정은 메인 어플리케이션에 달아두지 말자. 따로 Configuration 클래스를 둬서 관리하는 것이 좋다. 그렇지 않으면 이 설정을 받아들이는 테스트들이 Spri..
2019.04.28 -
스프링 부트 강의 정리 (19~20 : 테스트, MockBean)
스프링 부트 테스트 spring-boot-starter-test 를 사용하고 이 안에 spring-boot-test, spring-boot-test-autoconfigure 가 있다. JUnit, AssertJ, Harmcrest 라이브러리들을 가져온다. AssertJ : matcher 도 안쓰고 assertThat 만으로 Chaining 해서 테스트 코드 검증할 수 있어서 괜찮은 듯 https://joel-costigliola.github.io/assertj/ AssertJ / Fluent assertions for java AssertJ Fluent assertions for java joel-costigliola.github.io Dependency Injection의 가장 큰 장점은 테스트 코드 ..
2019.04.28