본문 바로가기

스프링

[spring] 핸들러매핑_이론 BeanNameUrlHandlerMapping ControllerBeanNameHandlerMapping ControllerClassNameHandlerMapping, SimpleUrlHandlerMapping DefaultAnnotationHandlerMapping 더보기
Mock테스트_빈등록코딩_컨트롤러의종류와어댑터 1. Com.springsource.javax.activation : Spring java-mail 2. Com.springsource.javax.mail : Spring java-mail 3. Com.springsource.org.aopalliance : Spring ProxyFactoryBean 4. Com.springsource.org.aspectj.tools : AspectJExpressionPointcut 포인트컷 표현식 지원 5. Com.springsource.junit : junit 6. Commons-logging : Spring-context가 사용 7. Mail : java-mail 8. Mockito : 목 프레임워크 중 Mockito 9. Mysql-connector : Mysql .. 더보기
서블릿컨텍스트등록_핸들러어댑터전략 1. Com.springsource.javax.activation : Spring java-mail 2. Com.springsource.javax.mail : Spring java-mail 3. Com.springsource.org.aopalliance : Spring ProxyFactoryBean 4. Com.springsource.org.aspectj.tools : AspectJExpressionPointcut 포인트컷 표현식 지원 5. Com.springsource.junit : junit 6. Commons-logging : Spring-context가 사용 7. Mail : java-mail 8. Mockito : 목 프레임워크 중 Mockito 9. Mysql-connector : Mysql .. 더보기
WEB_루트애플리케이션컨텍스트_테스트 1. Com.springsource.javax.activation : Spring java-mail 2. Com.springsource.javax.mail : Spring java-mail 3. Com.springsource.org.aopalliance : Spring ProxyFactoryBean 4. Com.springsource.org.aspectj.tools : AspectJExpressionPointcut 포인트컷 표현식 지원 5. Com.springsource.junit : junit 6. Commons-logging : Spring-context가 사용 7. Mail : java-mail 8. Mockito : 목 프레임워크 중 Mockito 9. Mysql-connector : Mysql .. 더보기
스프링 MVC 이론 스프링을 잘 사용하는 비결은 스프링의 유연한 확장성을 최대한 활용해서 두번째 스타일의 프레임워크를 지향하는 것. (MVC)Model View Controler 컨트롤러가 리턴해주는 정보는 뷰와 모델 두 가지다. 스프링에는 ModelAndView라는 이름의 오브젝트가 있는데, 이름 그대로 모델과 뷰를 넘기는 것으로 컨트롤러의 책임은 끝이다. ModelAndView가 DispatcherServlet이 최종적으로 어댑터를 통해 컨트롤러로부터 돌려받는 오브젝트다. * 뷰의 종류는 JstlView($(EL)), JSP뷰, PDF뷰, RSS, Atom, JSON 뷰 등 다양한 형태로 만들어진다. * 뷰까지 생성이 되었으면 DispatcherServlet은 후처리기(AOP) 확인 후 HttpServletRespons.. 더보기
트랜잭션_조합_WAS트랜잭션_고급 JpaTransactionManager HibernateTransactionManager JtaTransactionManager : 하나 이상의 DB 또는 JMS와 같은 트랜잭션이 지원되는 서비스를 통합해서 하나의 트랜잭션으로 관리하려고 할 때 사용됨. ORM과 JDBC 트랜잭션시 주의 사항 : 특성이 다름 JDBC와 JPA의 트랜잭션을 위해 강제로 캐시의 내용을 DB로 보내주는 flush 코드의 지저분함을 제거해줄 수 있도록 AOP를 활용한 방법도 존재한다. 더보기
AOP_Aspectj 스프링 AOP는 프록시가 적용되면 클라이언트는 프록시를 타깃 오브젝트라고 생각하고 프록시 메소드를 호출한다. 따라서 트랜잭션은 타깃메소드 호출전에 트랜잭션을 시작하고 호출 후에 트랜잭션을 커밋하거나 롤백해줄 것이다. (1)은 클라이언트에서 프록시를 통해 들어온 호출이므로 당연히 프록시의 기능이 동작한다. 하지만 (2)의 경우 타깃 오브젝트 안에서의 호출이므로 프록시를 통하지 않고 직접 타깃 오브젝트 안에서의 호출이므로 프록시를 통하지 않고 직접 타깃 오브젝트의 메소드 호출이 일어난다.(데코레이터 패턴을 기억해보면 타깃클래스가 아닌 프록시 클래스를 호출하는 것과 같은 원리) 1. add() 메소드는 트랜잭션 전파속성이 항상 새로운 트랜잭션을 만들어 시작하도록 REQUIRES_NEW로 되어 있다. 따라서 다.. 더보기
JPA_JTA_하이버네이트 트랜잭션_2 1. Com.springsource.antlr.jar : Hibernate 구문분석 파서 2. Com.springsource.javassist : Hibernate javassist바이트코드 생성기 클래스 동적변형 3. Com.springsource.javax.activation Spring java-mail 4. Com.springsource.javax.mail : Spring java-mail 5. Com.springsource.javax.persistence : spring JPA 지원을 위한 클래스 로더 필요 6. Com.springsource.javax.transaction : JTA 7. Com.springsource.org.aopalliance : Spring ProxyFactoryBean .. 더보기