본문 바로가기

반응형

분류 전체보기

(121)
[Spring] XML파일 대신 Java 클래스 파일 @로 변경 ★이전 포스팅★ 에서는 DispatcherServlet-servlet.xml 파일에 스프링 관련 설정을 하였는데 이번 시간에는 Java 클래스 파일에 @사용하여 스프링 관련 설정을 해보려고 한다. 1. @ 어노테이션 설정을 위해서는 스프링 컨테이너가 내가 설정한 패키지 범위를 scan 할 수 있도록 context 네임 스페이스를 추가한다. context 네임스페이스를 추가하게되면 상단에 하기 코드가 추가 되고 xmlns:context="http://www.springframework.org/schema/context
[Spring] MVC2 패턴 동작과정2 - Spring framework 클래스 적용 이번 포스팅에서는 스프링에서 제공하는 클래스로 교체하면서 Spring MVC를 적용! ★이전 포스팅 참고 ★ 동작순서대로 스프링에서 제공하는 클래스로 교체하는 작업을 해보려고 한다. 1) *.do 요청을 하면 web.xml을 읽어들이는 서블릿 컨테이너가 동작하면서 서블릿 객체를 생성 기존에 "내가 직접 만든 DS"를 "Spring에서 제공하는 DS"로 교체 DispatcherServlet DispatcherServlet com.kim.biz.controller.DispatcherServlet DispatcherServlet *.do DispatcherServlet org.springframework.web.servlet.DispatcherServlet DispatcherS..
[Spring] MVC2 패턴 동작과정1 MVC2의 과정을 Spring 스타일로 제작 ★동작 순서★ 사용자의 요청 --*.do --> DS -> HM -> C호출 -> 경로정보를 반환 -> VR -> 사용자에게 화면을 제공 1. Dispatcher Servlet(DS) - 기존 FrontController 역할을 하는 서블릿을 Dispatcher Servlet라고 부름 - URL Mapping은 *.do로 생성 - 서블릿 파일 생성과 동시에 web.xml에 매핑이 됨 - web.xml 에서 매핑이 완료되었기 때문에 2. Controller 2-1) interface 생성 - controller 파일들의 메서드를 강제하기 위해서 interface를 생성 - 기존에 Action Forward로 페이지 이동 처리 했던 것과 달리 이제는 경로만 Vei..
[Spring] JDBC Template 사용 템플릿 메서드 패턴 반복적인 로직을 가지는 부분을 캡슐화해서 사용 코딩 순서가 정형화된 기술을 재사용하기 용이하게 모듈화해놓은것 Template 패턴의 장점 코드 중복 감소 자식 클래스의 역할을 감소시키면서 핵심로직 관리 용이 객체 추가 및 확장을 쉽게 가능 재사용성 증가 Template 패턴의 단점 추상 메소드가 너무 많으면 복잡성 증가 추상 클래스와 구현 클래스간의 관계 복잡도가 증가 JDBC Template 스프링의 가장 기본적인 Data Access 템플릿으로 쿼리 기반으로 데이터 베이스의 접근 가능 모든 영속성 프래임워크는 내부적으로 JDBC API를 이용 DAO 계층에서 Jdbc Template API를 사용 Data Source DB Server와 연결 시키는 연결 팩토리 JDBC의 일부분 ..
[Spring] AOP 설정 변환 (xml -> @) 1. applicationContext.xml에서 스프링 컨테이너에게 지금부터 AOP 설정을 @로 한다고 선언 --> 2. LogAdvice.java 해당 파일에 Aspect, Pointcut 설정 @Before("aPointcut()) : aPointcut과 연결한다는 뜻 @Service를 상단에 기입하여 객체화 package com.kim.biz.common; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.springframework...
[Spring] Joinpoint, 바인드 변수 JointPoint 사용 이유 횡단 관심에 해당되는 어드바이스 메소드를 의미있게 구현하기 위해서는 비즈니스 메서드 정보가 필요함 joinpoint를 인자로가지게되면(pjp처럼) 현재 수행중인 비즈니스메서드의 시그니처 등을 알수있음 - String getName() : 클라이언트가 호출한 메서드 이름 리턴 - SignaturegetSignature() : 클라이언트가 호출한 메소드의 시그니처 (리턴타입, 이름, 매개변수) 정보가 저장된 Signature 객체를 리턴 - Object [] getArgs() : 클라이언트가 메소드를 호출할 때 넘겨준 인자 목록을 Object 배열로 리턴 After Returning Advice - JointPoint jp (매개변수 ) : 클라이언트가 호출한 비즈니스 메서드 ..
[Spring] AOP 관점 지향 프로그래밍, Advice 동작시점 AOP (Aspect Oriented Programming) - 관점 지향 프로그래밍 관점 지향은 쉽게 말하면 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것 장점 : 중복코드 제거, 효율적인 유지보수, 높은 생산성, 재활용성 극대화, 변화 수용 용이 AOP 언제 쓰는데? 핵심로직(비즈니스 메서드, CRUD)에는 공통적으로 들어가는 로직이 존재함! == 공통로직(횡단관심) ex) 로깅, 예외처리, 트랜잭션, 보안(인증, 인가, 허가)... 어떤 횡단관심들을 어떤 핵심로직에 연결할지 "설정" => AOP설정 Aspect "결합" 횡단관심+포인트컷(핵심로직) 위에서 설명한 흩어진 관심사를 모듈화 한 것. 주로 부가기능..
[Spring] DB 연결 (MVC패턴) 기존 MVC 패턴으로 Board, Member 테이블을 만들어 로그인, 게시물 작성 기능을 Spring에서 구현해볼 예정 1. JDBCUtil 공통적으로 드어갈 로직이기 때문에 common 패키지에 클래스를 생성 package com.kim.biz.common; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class JDBCUtil { static final String driverName="oracle.jdbc.driver.OracleDriver"; static final String url="jdbc:oracle:..

반응형