Spring 4

Spring 3.2 MockMvc

오늘 Spring 3.2의 MockMvc 를 살펴봤는데, 진짜 너무 너무 멋지다 훌륭하다.. 컨트롤러 테스트는 이제 정말 편하게 할 수 있을 듯 하다. junit testcase : /** * */ package me.kwo2002.mvctemplate; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.m..

프록시를 만들기가 번거로운 이유는 무엇일까?

1. 타깃의 인터페이스를 구현하고 위임하는 코드를 작성하기가 번거롭다는 점이다. 부가기능이 필요없는 메소드도 구현해서 타깃으로 위임하는 코드를 일일이 만들어줘야한다. 복잡하진 않지만 인터페이스의 메소드가 많아지고 다양해지면 상당히 부담스러운 작업이 될 것이다. 또, 타깃 인터페이스의 메소드가 추가되거나 변경될 때마다 함께 수정해줘야 한다는 부담도 있다. 2. 부가기능 코드가 중복될 가능성이 많다는 점이다. 트랜잭션은 DB를 사용하는 대부분의 로직에 적용될 필요가 있다. 아직까지 add()메소드에는 트랜잭션 부가기능을 적용하지 않았지만, 사용자를 추가하는 과정에서 다른 작업이 함께 진행돼야 한다면 add() 메소드에도 트랜잭션 경계설정 부가기능이 적용돼야 한다. 메소드가 많아지고 트랜잭션 적용의 비율이 높..

Spring 스케쥴러 - QuartzJobBean

스프링은 크론과 같은 스케쥴러를 제공 한다. 일단 1. 스케쥴러로 작동될 클래스를 작성한다. package com.login.service; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; import com.dto.User; import com.login.dao.LoginDAO; public class QuartzService extends QuartzJobBean{ //QuartzJobBean 을 상속 받아야 한다. LoginDAO loginDAO; public void setLoginDAO(Login..

[Spring] Configuration Module

코어 컨테이너 - 그림에서 가장 아래쪽에 위치하는 것이 스프링의 코어 컨테이너이다. 이것은 스프링의 기본 기능을 제공한다. 이 모듈에 있는 BeanFactory는 스프링의 기본 컨테이너이자 스프링 DI의 기반이다. 애플리케이션 컨텍스트 모듈 - 스프링의 애플리케이션 컨텍스트는 코어 컨테이너 위에 올라간다. 코어 모듈의 BeanFactory가 스프링을 컨테이너로 만들어 준다면, 컨텍스트 모듈은 스프링을 프레임워크로 만들어 준다. 국제화(I18N) 메시지, 애플리케이션 생명주기 이벤트, 유효성 검증 등을 지원하고, 이메일, JNDI 액세스, EJB 통합, 리모팅, 스케줄링 등 여러가지 엔터프라이즈 서비스를 제공한다. 또한 벨로시티(Velocity)나 프리마커(FreeMarker) 같은 템플릿 프레임워크와의 ..