전체 글
-
spring web 비동기카테고리 없음 2023. 4. 23. 14:05
오랜만에 포스팅을 한다. 새해도 거의 보름이 지나가는데 요즘은 포스팅이 뜸했다. 다시 블로그를 열심히 해야 겠다. 물론 될지는 모르겠지만.. 어쨋든 오늘은 Spring에서 지원해주는 web 비동기 기술을 몇가지 살펴보도록 하자. 오늘은 이런 것들이 있다는 것만 알고 넘어가자. 추후에 좀 더 상세하게 살펴볼 수 있으면 그때 살펴보도록 하자. 너무 처음부터 깊게 파고 들면 어려우니.. 이 기술은 요즘 나오는 reactive streams 과 많이 비슷하므로 이 기술 먼저 알고 가면 좋을 듯하다. 실제 이 기술(오늘 말할려고 하는)은 최신 기술이 아니다. 정확히 말하면 대략 5년전 그러니까 spring3.2가 발표되면서 이 기술을 선보였다. 뭐 그건 그렇고 한번 살펴보도록 하자. Callable 이것은 jav..
-
spring boot 2.0 actuator카테고리 없음 2023. 4. 22. 14:40
오늘은 Spring boot 2.0의 actuator에 대해서 살펴보자. 아직 마일스톤 버전이라 바뀔 가능성은 있지만 크게 바뀌지 않을 것 같다. 기존(2.0 이전)의 actuator 와는 구조가 많이 변경되었다. 구조가 변경되었다고 하더라도 우리가 사용하는 것에 대해서는 많은 변화는 없다. 약간의 변화? 일단 spring-boot-actuator 모듈이 분리 되었다. 원래는 spring-boot-actuator 모듈 하나만 있었지만 autoconfigure 모듈이 새로 추가되었다. org.springframework.boot spring-boot-actuator-autoconfigure 하지만 우리는 기존과 동일하게 spring-boot-starter-actuator 만 디펜더시 받으면 된다. 그럼 자..
-
spring5 와 junit5카테고리 없음 2023. 4. 22. 14:40
저번시간에 이어 오늘도 junit5 포스팅이다. 오늘은 junit5로 Spring을 어떻게 Test 하는지 알아보자. 이미 spring에서 만들어 놓아서 우리는 사용하기만 하면 된다. 일단 아래와 같이 maven 디펜더시를 받자. org.springframework spring-context 5.0.0.RELEASE org.springframework spring-test 5.0.0.RELEASE test org.junit.jupiter junit-jupiter-engine 5.0.1 test 간단하게 어떻게 하는지만 테스트를 할 예정이라 web과 관련된 설정은 하지 않았다. 그렇다고 웹이라고 해서 크게 다른 건 없다. 테스트를 위해 샘플 코드를 작성해보자. public interface HelloSer..
-
junit5 ParameterResolver카테고리 없음 2023. 4. 22. 14:40
오늘은 junit5의 기본적인 사용법만 살펴보자. 예전에 릴리즈 되기 전에 여기에 대충 사용법만 포스팅한적이 있었다. 아주 junit5 의 기본적인 내용만 살펴봤으니 좀 더 많은 내용은 문서를 통해서 확인하면 더 좋을 듯 싶다. 많이 바뀐 내용은 없는 듯 하니 추가할 내용은 없을 것 같다. 기본적으로 class가 public이 아니여도 되고, test 메서드도 public이 아니고 package private 이여도 된다는 것은 동일하다. 아주아주 기본적인 사용법은 예전에 살펴본 내용이므로 생략하자. 그렇게 어려운 내용은 아니니 한번씩 해보면 좋을 것 같다. ExtendWith Junit5 에 추가된 어노테이션중에 하나이다. 어노테이션명 그대로 ExtendWith은 뭔가를 확장 시킬 수 있는 그런 어노테..
-
Spring boot 2.0 ApplicationContextRunner카테고리 없음 2023. 4. 22. 14:40
오늘은 아직 릴리즈 되지는 않았지만 그래도 큰 변화를 없을 것 같아 이렇게 포스팅을 한다. 그 전에 올해 하반기에 자바진영에 많은 변화가 있을 것으로 예상된다. 그중에 이미 릴리즈 된 Junit5 가 첫 번째 변화이고 두 번째로 자바9(9월 21일), spring5 (9월 28일) spring boot 2.0(11월 20일) 등이 릴리즈 될 예정이다. 하지만 예정은 예정일뿐.. 언제 바뀔지는 모른다. spring5 와 spring boot 2 는 모두 자바 8 이상에서만 작동한다. 그러니 이제는 자바8을 꼭 쓰도록 하자. 그건 그렇고 java EE가 이제는 이클립스재단으로 간다는.. 좋은 소식(?) 아무튼 오늘은 Spring boot 2 에 추가된 ApplicationContextRunner에 대해서 살..
-
spring boot 의 spring data nosql (4) example카테고리 없음 2023. 4. 22. 14:40
오늘은 Spring boot에서 지원해주는 spring data nosql의 마지막시간이다. 저번시간까지 Redis, MongoDB, Neo4j 에 대해서 예제를 살펴봤는데 오늘은 Solr, Elasticsearch, Cassandra, Couchbase 예제들을 살펴보도록 하자. 거의 비슷한 맥략이라 손쉽게 따라 할 수 있을 듯하다. Solr Solr의 경우에도 SolrCrudRepository가 존재한다. 별다른 설정 없이 해당 인터페이스를 이용해서 repositories를 사용하면 된다. public interface PersonRepository extends SolrCrudRepository { Person findByName(String name); } 다들 알기 때문에 설명할 내용이 없다. ..
-
spring boot 의 spring data nosql (3) example카테고리 없음 2023. 4. 22. 14:40
오늘은 저번시간에 이어서 Spring boot 에서 지원해주는 nosql의 예제를 간단하게 살펴보자. 깊이 있는 내용은 아니고 아주 간단한 예제이므로 더 상세한걸 원하면 해당되는 문서를 찾아서 보길 권장한다. 디펜더시 부분은 저번시간에 했기에 생략하도록 하자. Redis Redis 같은 경우에는 딱히 RedisRepository라는 것이 존재하지 않는다. KeyValueRepository라는 것이 존재하는데 아마도 key value 스토어들을 추상화해서 만든 Repository라고 생각된다. redis 말고도 찾아보니까 Riak 라는 것도 있는데 이건잘.. 아무튼 KeyValueRepository를 사용해도 되고 CrudRepository를 사용해도 되고 PagingAndSortingRepository를..
-
spring boot 의 spring data nosql (2)카테고리 없음 2023. 4. 22. 14:40
오늘은 저번시간에 이어서 Spring boot에서 지원해주는 Spring data nosql을 알아보자. 저번시간에 Redis, MongoDB, Neo4j, Gemfire 대해서 알아 봤으니 오늘은 Solr, Elasticsearch, Cassandra, Couchbase에 대해서 알아보도록 하자. Solr 아파치 오픈소스인 Solr는 검색 엔진이다. 엘라스틱 서치와 비교가 많이 되는 대상이며 코어 검색 엔진으로는 엘라스티 서치와 동일하게 아파치 루씬을 이용해서 만들어 졌다. 아무래도 Solr 보다는 Elasticsearch가 더 많이 사용되고 있는 듯 하다. org.springframework.boot spring-boot-starter-data-solr 위와 같이 spring-boot-starter-..