본문 바로가기

spring36

aop 와 weaving 설명 AOP 와 weaving AOP 는 공통되는 횡단 관심사를 공통으로 모아 별도로 구현해놓은 것. PointCut, JoinPoint, Aspect 등을 이용해서 횡단 관심사를 공통으로 구현할 수 있게 제공해준느 것 예를 들면, 메소드 앞 뒤로 시작로그와 종료로그를 찍을 수 있음. Weaving 은 횡단 관심사를 직접 호출하지 않고 관련 횡단 관심코드를 삽입되도록하는 방법 즉, AOP 를 적용시키는 방법이지. Compile 을 통해 weaving 할 수 있고. BCI 를 통해 weaving 할 수 있음. 2020. 10. 19.
spring dispatchServlet 설명 spring dispatchServlet 모든 request 를 받아 controller 에 전달해주고, 그 결과 값을 받아서 응답을 준다. spring dispatchServlet 처리순서 DispatchServlet 을 통해 request 들어옴. DispatchServlet --> HandlerMapping 전달하고, Request URL 에 맞는 Controller 로 전달. Controller 에서 request 를 처리. 이 떄, 결과를 ModelAndView 에 담는다. ModelAndView 에 데이터를 담고 DispatchServlet 전달. DispatchServlet 에서 ViewResolver 로 View 관련 정보를 전달하고. ViewResolver 에서 화면을 그려 Dispatc.. 2020. 10. 16.
생성자 주입을 사용하면 좋은 이유? spring 생성자 주입을 사용하면 좋은점 테스트 코드 작성 편리. Autowired 를 써버리면, 구현체를 변경하고 싶을 때 까다로움. 그렇기에 생성자 주입을 통해 테스트 코드를 만들면 구현체를 넣어줄 수 있기에 편리 순환참조 방지 A --> B, B --> 에서 서로 Autowired 하고 있다면 순환참조가 발생. 이는 초기 빈 객체 생성 시에 발견할 수가 없음. 비즈니스 로직이 구동될 때, StackOverFlowException 이 나겠지. 아래와 같을 때, 비즈니스 로직 구동할 때, StackOverFlowException 발생. 서로 계속 호출하니 Stack 용량을 초과하는거지. 생성자 주입의 경우 초기 빈 객체 생성 시 빈 순환 참조를 탐지할 수 있기에 이를 권장 public interfac.. 2020. 10. 9.
spring boot localDateTime parsing rest api request localDateTime parsing rest api 를 통해 들어온 request param 의 localDateTime type 을 파싱 controller 의 /test url 을 통해 request 가 json 타입으로 들어오면 파싱 가능public class SampleIO { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime dateTime; @RequestMapping(value = "/test", method = RequestMethod.POST) public ResponseEntity testParsing(@RequestBody SampleIO sampleIO) { xxx xxx .. 2020. 9. 11.