본문 바로가기
반응형

Spring47

AOP 정리 (3) AOP란? Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것입니다. AOP (Aspect-Oriented Programming) 란 단어를 번역하면 관점(관심) 지향 프로그래밍으로 됩니다. 이 관점(관심)이란 단어가 잘 와닿지 않아 AOP를 이해하는데 있어 더 어려움을 일으킨다고 생각하였습니다. 쉽게 얘기하면 프로젝트 구조를 바라 보는 관점을 바꿔보자는 이야기입니다. 우리는 보통 제 3자의 관점에서 바라보자 라는 이야기를 합니다. (제 3자의 관점) 즉, 대상을 바라보는 방향을 바꿔보자라는 이야기입니다. (핵심기능에서 바라본 관점) 각각의 Service는 핵심기능에서 바라보았을때는 Board,.. 2016. 12. 8.
AOP 정리 (2) 문제해결하기 - DI 상속을 피하기 위해 이번시간엔 DI (Dependency Injection)를 통해 문제를 해결해보려고 합니다. 제일 먼저 바꿀것은 BoardService 입니다. 전체적으로 바꿀 구조는 아래와 같습니다. (DI로 구조를 변경) BoardService 인터페이스를 BoardServicePerformance와 BoardServiceImpl이 구현하였습니다. 대신 집중해야할 로직인 Board 리스트를 조회하는 것은 BoardServiceImpl이 담당하고, 기타옵션인 수행시간 측정은 BoardServicePerformance가 구현하되, 그 과정에서 BoardServiceImpl을 주입(Injection) 받도록 하였습니다. 이렇게 되면 BoardServiceImpl과 BoardServ.. 2016. 12. 8.
AOP 정리 (1) 현재 신입사원 분들의 입사로 Spring에서 중요한 개념들에 대해 한번 정리하려고 작성하게 되었습니다. Spring의 가장 중요한 개념 중 하나인 AOP를 제 나름의 이해로 정리하였습니다. 틀린 내용이 있다면 가감 없이 댓글 부탁드리겠습니다. 모든 코드는 Github에 있으니 코드와 함께 보셔도 좋을것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github를 star 하시면 실시간으로 feed를 받을 수 있습니다.) (Spring AOP) Spring을 이해하는데 있어 최고는 토비님의 토비의 스프링을 읽어보는 것입니다. 제 블로그의 내용들은 단발성에 지나지 않습니다. 이것만으로는 Spring을 사용만 하는것이지 이해한 것은 아니라고 개인적으로 생각하고 있습니다. Spri.. 2016. 12. 8.
SpringBoot + Ehcache 기본 예제 및 소개 팀내 신입사원들이 입사하게 되어 간단하게나마 참고할 수 있도록 Spring Cache에 대해 샘플예제와 소개를 정리하게 되었다. 아주 간단한 예제이기도 하고, 웬만한 경력 웹 개발자분들은 다 아는 이야기라 한번도 캐시를 사용해보지 않은 분들에게 도움이 될것 같다. 여기서 사용할 CacheManager는 EhCache 이다. Spring Cache의 대표격이라고 생각했다. Redis나 Memcached를 선택하지 않은 이유는 Cache 본연의 기능에 초점을 맞추기가 힘들어 여러가지 한눈팔기 쉬울것 같아서였다. (물론 우리회사 시스템은 Ehcache/Redis/Memcached를 다 쓰고 있다.) 그럼 이제 시작하겠다. 소개 캐시란 동일한 요청이 들어오면 복잡한 작업을 수행해서 결과를 만드는 대신 이미 보관.. 2016. 10. 28.
SpringBoot의 깨알같은 팁 소개 이번에 출간된 스프링부트 코딩 공작소를 읽고나서 해당 내용을 정리도 할겸, 기존에 SpringBoot에 대해서 깨알같이 사용하던 내용들도 포함해서 한번에 정리하게 되었다. 스프링 부트 코딩 공작소국내도서저자 : 크레이그 월즈(Craig Walls) / 황인서역출판 : 길벗 2016.07.31상세보기 간편한 설정 기존에 SpringFramework가 기본적으로 해야할 셋팅이 너무 많고 어려웠던 점을 해소하기 위해 나옴 RoR (Ruby on Rails)나 Express (Nodejs 웹프레임워크)를 사용해보니 그 차이가 더 심하게 느껴짐 (SpringFramework 으로 하루가 걸릴 CRUD 게시판이 express로 1~2시간만에 작성되니 멘붕) 이런 이유로 이전까지 직접 하던 설정들 중 변경요소가.. 2016. 10. 1.
SpringBoot 1.4.0 Test 적용하기 (2) 2. @WebMvcTestDataJpa 어노테이션이 Repository (Dao) 에 대한 테스트라면 WebMvcTest는 Controller을 위한 테스트 어노테이션이다.Scan 대상은 아래와 같다.@Controller@ControllerAdvice@JsonComponentFilterWebMvcConfigurer and HandlerMethodArgumentResolverMockMvc를 자동으로 지원하고 있어 별도의 HTTP 서버 없이 Controller 테스트를 진행할 수 있다.사용법 역시 간단하다.@RunWith(SpringRunner.class) @WebMvcTest(HomeController.class) public class WebMvcTest { @Autowired private MockMv.. 2016. 9. 8.

728x90
반응형