본문 바로가기

SPRING_SETTING

JUnit test에서 application context를 로딩하기 일반적으로 Web Application을 만들게 되면 WEB-INF 에 web.xml과 같이 또는 서브 디렉토리를 더 만들어서 이 곳에 bean configuration 파일들을 놓게 됩니다. 특히나 STS(SpringSource Tool Suite)에서 Spring MVC Project를 생성하게 되면 maven을 사용하도록 설정하기 때문에 프로젝트의 디렉토리 구조는 더 복잡해 집니다. src/main/java --> classes src/main/test --> test classes src/main/webapp --> web contents 보통은 JUnit test에서 application context를 로딩하기 위해 @ContextConfiguration을 사용하게 되는데 webapp은 cla.. 더보기
spring form tag * form 객체 이름 HTML - Spring - => commandName은 HTML렌더링 후 id가 되므로 getElementById()를 사용해서 참조할 수 있다. * input 객체 이름 HTML - Spring - => HTML의 input 태그도 태그 안에 있으면 input의 name이 커맨드객체의 멤버변수로 맵핑 가능하다. * CSS 스타일 적용 (class) HTML - Spring - http://blog.naver.com/jjhstr?Redirect=Log&logNo=60103005861 ---> 퍼온곳 더보기
핸들러 인터셉터 핸들러 매핑의 역할은 기본적으로 URL과 요청정보로부터 컨트롤러 밴을 찾아주는 것이다. 그런데 한가지 중요한 기능이 더 있다. 바로 핸들러 인터셉터를 적용해 주는 것이다. 핸들러 인터셉터는 DispatcherServlet이 컨트롤러를 호출기가 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 일종의 필터다 핸들러 인터셉터는 서블릿 필터와 그 쓰임새가 유사하다. 하지만 핸들러 인터셉터는 HttpServletResponse뿐 아니라, 실행될 컨트롤러 빈 오브젝트, 컨트롤러가 돌려주는 ModelAndView, 발생하여 예외 등을 제공받을 수 있기 때문에 서블릿 필터보다 더 종료하고 편리하게 인터셉터를 만들 수 있다. 또한 핸들러 인터셉터 자체가 스프링 빈이기때문에 DI를 톻해 다른빈을 활용할 수도 있다. 더보기
Spring 다중 파일 업로드 -> 퍼왔는데 어디지 ??? 1. dispatcher-servlet.xml submitReportController multiSubmitFormController multiSubmitReportController 2. form으로 이동시켜주는 controller kame.spring.chap04.controller.MultiSubmitFormController package kame.spring.chap04.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.. 더보기
AOP의 개념 정리를 위한 TEST package springbook.learningtest.jdk.proxy; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; import org.junit.Test; import org.springframework.aop.ClassFilter;.. 더보기
Spring MVC 03 - web.xml 설정 1. 처음 web.xml 설정이 무척 중요하다. 더보기
Spring MVC 01 1. 가장 심플한 페이지를 돌려본다. web.xml dispatcher-servlet.xml 설정파일을 보면 BeanNameUrlHandlerMapping 클래스를 사용해서 Controller와 URL을 맵핑해주는 것을 알 수 있다. 만일 빈 설정파일에 HandlerMapping이 설정되어 있지 않으면 default 로 BeanNameURLHandlerMapping을 설정한다. SimpleUrlHandlerMapping 매핑에 대한 정보를 각각의 Controller에서 설정하는 것이 아니라 하나의 저장소에서 관리하는 것이다. Controller를 개발하는 개발자들은 빈을 정의하기만 하고 이 Controller가 어떻게 맵핑되어서 사용하는지에 대해서는 몰라도 된다. 위의 설정파일을 SimpleUrlHand.. 더보기
AOP test - 3 1. spring에서 제공하는 ProxyFactoryBean 클래스를 이용해 보자. 2. 메소드 네임을 걸러본다. NameMatchMethodPointCut 클래스를 이용해서 한다. 토비의 스프링 3.0으로 공부 중입니다. 정말 괜찮은 책이네요!!! 강추!!! 더보기
AOP test - 2 1. Proxy라는 넘을 이용해서 해보는 방법. public class UppercaseHandler implements InvocationHandler { Object target; private UppercaseHandler(Object target) { this.target = target; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object ret = method.invoke(target, args); if (ret instanceof String && method.getName().startsWith("say")) { return ((String) ret).toUp.. 더보기
AOP test - 1 1. interface를 만들어 보자. public interface Hello { String sayHello(String name); String sayHi(String name); String sayThankYou(String name); } 2. interface를 구현한 클래스를 만들어 보자. public class HelloTarget implements Hello { @Override public String sayHello(String name) { return "Hello " + name; } @Override public String sayHi(String name) { return "Hi " + name; } @Override public String sayThankYou(String.. 더보기