본문 바로가기

Spring Framework2

Aspect Oriented Programing (AOP) AOP란? 어떤 메소드의 실행시간을 측정하려는 요구사항이 있다. 처음에는 하나의 메소드의 시간만 측정하면 됐지만, 점점 많은 수의 메소드를 관리해야 했다. 이렇게 되면 코드의 중복이 많아지고 관리가 힘들어진다. 또한 비즈니스 관심사에 필요하지 않은 실행시간 측정이 비즈니스 코드에 섞이게 된다. 이때 필요한게 AOP 이다. 관점 지향 프로그래밍 AOP AOP란 프로그램 구조를 다른 방식으로 생각하게 함으로써 OOP를 보완한다. OOP에서 모듈화의 핵심 단위는 클래스이지만 AOP에서 모듈화의 핵심 단위는 관점(aspect)이다. 관점은 다양한 타입과 객체에 걸친 트랜잭션 관리같은 관심(concern)을 모듈화할 수 있게 한다. crosscutting corncerns: 횡단 관심사 core concerns:.. 2022. 4. 16.
[Spring Framework] @RequestBody와 @ModelAttribute의 차이 @RequestBody HTTP 요청의 body 부분이 JSON / xml 형식일 때 자바 객체로 매핑됨. Spring에서 관리하는 MessageConverter들 중 하나인 MappingJackson2HttpMessageConverte를 통해 객체로 변환된다. @ModelAttribute @RequestParam 대신에 여러개의 파라미터를 자바 객체로 전달받는다. 객체에 Setter 메소드가 있어야 됨. model.addAttribute를 해주는데 클래스이름에서 맨 앞글자를 소문자로 바꾼 이름으로 추가해준다 (ex. @ModelAttribute Member member => @ModelAttribute("member") Member member => model.addAttribute("member", .. 2021. 4. 10.