Spring 4

MultipartFile 객체의 함정

@ContextConfiguration : 웹 서버를 돌리지않고 webApp 구현체를 만들어주는 역할 @WebAppConfig 붙어야 웹앱 됨. @Transactional. Advisor가 테스트 케이스에 위빙됨, 자동커밋됨 @ControllerAdvice 모든 컨트롤러를 대상으로 weaving된다. 컨트롤러가 동작할 땐 언제나 얘가 계속 조회된다. multipartfile: 비어있는 멀티파트 걸러지지않음. 첨부파일 추가하지 않아도 채워져버림. => 커맨드오브젝트의 책임은 핸들러어댑터가 진다. 데이터바인드 설정만 바꿔주면 비어있는 파트 해결 가능함. BUT 게시판에서 3개의 첨부파일이 1개의 동일한 input 태그를 쓰고있어서 데이터바인드가 동작하지 못하고 있음. -> 다른 방법을 찾아야함. @Contr..

스프링 프레임워크 AOP

OP: Oriented Programming 프로그래밍 방법론은 중복을 해결하기 위해 점점 발전해왔다. AOP(Aspect Oriented Programming) : 관심사의 분리! 개발자가 각자 관심사에만 따라서 개발. 핵심관심사(Core Concern)는 타겟으로, 부가 관심사(Cross-cutting Concern)는 advice로 만든뒤 타겟, 어드바이스를 pointcut을 기준으로 걸러낸다음 joinpoint에서 weave하는 것. 부가 관심사: 여러 모듈이 공통적으로 거쳐야하는 작업 (예: 로그, 인증, 보안, 트랜잭션 관리) 장점: OOP에서도 해결되지 않은 중복을 해결 가능 업무 로직이 실행될 때 (-> core concern, target) 언제, 어떤 파라미터로, 얼마만큼의 소요시간이 ..

스프링 Spring 프레임워크 jUnit과 연동하기

junit으로 테스트할 땐 서버를 실행되지 않는다. 하지만 dao를 주입받아 쓰려면 컨테이너객체가 생성되어야함 => 서버를 돌리지 않은 상태에서 컨테이너 객체를 생성하게 하는 어노테이션: @ContextConfiguration 이때 형성되는 컨테이너: 애플리케이션 context. 테스트할 dao가 웹 어플리케이션 컨텍스트의 하위 객체가 되어야함. @WebApplicationConfiguration + test할때 자동 롤백되어야함 . => AOP 적용해 @Transactional을 넣어주자. 컨트롤러는 request가 있어야함. Mock 객체를 사용하면 Mock req, Mock resp 만들 수 있음. =>Spring의 MVC test module을 사용하면 됨 import static org.spri..

스프링 프레임워크 설치 및 테스트 (Spring)

AOP(Aspect Oriented Programming)에 따른 트랜잭션 관리 가능 (AOP : annotation만 잘 선언해놓으면 됨. ) 의존성, 결합력은 낮추고 응집력은 높이기 가능 => 많은 일들을 해주는 Enterprise Framework docs.spring.io/spring-framework/docs/4.3.29.RELEASE/spring-framework-reference/htmlsingle/ 스프링은 IoC(Inversion of Control) container로서 역할 (= DI Container) www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea3.9 egovframework:rtea3.9 [eGovFrame] www.egovf..

WEB Application 2020.10.06