본문 바로가기

spring

controller를 직접만들어서 운영하기 servlet 설정파일에서 설정한 controller를 직접만들어서 운영 ============================================================================================================================================web.xml s_mvc2 test org.springframework.web.servlet.DispatcherServlet test *.do =========================================================================================================================================.. 더보기
개념 잡기 URL에 의한 요청을 스프링의 controller가 처리해 주고 controller는 어떤 뷰(jsp 같은)를 보여줄지에 처리해준다. 아래의 예제를 보면 설정 파일 2개가 있다. 아래의 예제로 스프링의 컨트롤러와 뷰의 처리 개념을 잡아보자 ========================================================================================================================================================web.xml s_mvc1 test org.springframework.web.servlet.DispatcherServlet test *.do ================================.. 더보기
spring에서 DB 연결 (JdbcDaoSupport 상속을 이용한) 다음의 라이브러리가 필요 mysql mysql-connector-java 5.1.30 org.springframework.boot spring-boot-starter-jdbc 1.0.2.RELEASE 설명 xml 설정파일 에서 스프링에서 제공하는 DriverManagerDataSource 객체를 생성하고 DB에 접근할 수 있게 property를 셋팅해준다. 이 부분에서 DriverManagerDataSource 객체를 주입해주는데 sangpumImpl은 쿼리를 실행하는 클래스로 JdbcDaoSupport를 상속받아야만 한다. JdbcDaoSupport클래스역시 DaoSupport라는 클래스를 상속받은 클래스인데 DriverManagerDataSource 객체에서 셋팅된 db접속 정보가 JdbcDaoSup.. 더보기
AOP 구현하는 방법3 : 어노테이션을 이용한 방법 할말이 읎다 ==============================================================================================================================================설정파일 ============================================================================================================================================== package aop3_anno; import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Aft.. 더보기
AOP 구현하는 방법2 : aop namespace를 이용한 방법 설정파일에서 aop:pointcut 의 expression 속성에 명시되어 있는 표현식 조건에 맞는 메소드가 실행됬을 경우 loggingAspect 클래스의 logging 메소드가 실행된다. 인터셉터한 것이라고 생각하면된다. loggingAspect 클래스의 logging 메소드의 리턴값은 Object 여야하고 ProceedingJoinPoint 타입의 인자를 하나가져야 한다. Object object = joinPoint.proceed(); joinPoint는 logging 클래스의 인자인 ProceedingJoinPoint 타입의 변수이다. 위의 명령문으로 원래 실행될 메소드를 호출하며 이 명령문 전에 호출된 명령은 선처리되며 이 명령문 후에 호출된 명령은 후처리 된다. ================.. 더보기
AOP 구현하는 방법1 : Proxy를 통한 간접 접근 상황 핵심 로직 클래스인 MessageImpl class의 sayHi() 메소드가 실행되기 전과 이후에 어떤 모듈을 실행해야만 한다. AOP를 이용하여 처리한다. Proxy를 통한 간접 접근 스프링 설정파일을 보면 bean태그가 id="hiAdvisor" 인 놈이 있다. org.springframework.aop.support.DefaultPointcutAdvisor 클래스의 객체를 생성한 것인데 property로 advice와 pointcut을 가지고 있다. 예제에서 설정파일을 보면 property태그의 name이 advice와, pointcut 인 놈들을 property로 가지고 있는데 name이 advice인 놈에게는 실행할 모듈을 지정해 놓고(무엇을 할지 : 예제에서는 LoggingAdvice c.. 더보기
AOP 용어 Spring을 사용한 AOP에서는 다음과 같은 용어를 이해하는 것이 매우 중요하다 ●Joinpoint : ‘클래스의 인스턴스 생성 시점’, ‘메소드 호출 시점’ 및 ‘예외 발생 시점’ 과 같이 어플리케이션을 실행할 때 특정 작업이 시작되는 시점을 의미. ●Advice : 조인포인트에 삽입되어 동작할 수 있는 코드를 말함. ●Pointcut : 여러 개의 조인포인트를 하나로 결합한(묶은) 것을 말함. ●Advisor : 어드바이스와 포인트컷을 하나로 묶어 취급한 것을 말함. ●Weaving : 어드바이스를 핵심 로직 코드에 삽입하는 것을 말함. ●Target : 핵심 로직을 구현하는 클레스. ●Aspect : 여러 객체에 공통으로 적용되는 공통 관점 사항을 말함. 더보기
@ComponentScan 스프링 설정파일에서 와 같이 component scan을 하게 된다. Class에서 다른 Class 타입의 객체를 사용하기 위해서 사용한다. :@ComponentScan("package.pack2")public class Pack1Class{: Pack1Class class에서 package.pack2 패키지의 component 객체를 참조하기 위해서 어노테이션으로 scan한다. xml 설정파일에서 scan하던 일을 어노테이션으로 처리한 것이다. 이경우 xml 설정파일에서 scan하지 않아도 된다. 더보기