1 minute read

Spring - 2

  • 스프링 AOP 기능
  • 스프링 MVC 기능



관점 지향 프로그래밍(AOP, Aspect Oriented Programming)

  • 등장 배경
    • 주기능 하나를 위해 로깅/보안/트랜잭션 등 보조기능을 일일이 구현
    • 코드 복잡, 작업 시간 증가
  • 관점 지향 프로그래밍(AOP)이란,
    • 주기능과 보조기능을 분리해서 메서드 적용하는 방법!!

      ‘보조기능’ 적용.. 이라고 봐도 됨!

  • 관련 용어
용어 설명
aspect 구현하고자 하는 보조 기능을 의미
advice aspect의 실제 구현체(클래스)를 의미.. 메서드 호출을 기준으로 여러지점에서 실행됨
joinpoint advice를 적용하는 지점.. 스프링은 method 결합점만 제공
pointcut advice가 적용되는 대상을 지정
target advice가 적용되는 클래스
weaving advice를 주기능에 적용하는 것을 의미



  • 스프링 프레임워크에서 AOP 기능 구현하는 방법
    • 첫째, 스프링 프레임워크에서 제공하는 API 이용
    • 둘째, @Aspect 애너테이션을 이용



AOP 기능 구현 - 스프링 API를 이용

  • 구현 과정
    • (1) Target 클래스 지정 // 주기능
    • (2) Advice 클래스 지정 // 보조기능
    • (3) 설정 파일에서 pointcut 설정
    • (4) 설정 파일에서 adviser(advice와 pointcut 결합) 설정
    • (5) 설정 파일에서 스프링의 ProxyFactoryBean 클래스 이용, target에 advice 설정
    • (6) getBean() 메서드로 빈 객체에 접근, 사용
  • 스프링 API에서 제공하는 Advice 메서드

adviceMethod
adviceMethod2

  • 구현 예시

AOPUseEx






스프링 프레임워크의 MVC

  • 스프링 MVC 특징
    • 모델2 아키텍처 지원
    • 다른 모듈과의 연계 용이
    • View 기술(Tiles, Sitemesh 등)과의 연계 용이
    • 태그 라이브러리를 통해 메시지 출력, 테마 적용, 입력 폼 등 보다 쉽게 구현
  • 스프링 MVC 구성 요소

springMVC

  • 스프링 MVC 기능 수행 과정

springMVCProcess






Spring 과제 - PDF 자료 실습

  • 범위
    • 수업자료 20 ~ 21장
  • 기한: ~6/12(일)

  • 과제 예시
    • 수업자료 참고, 프로젝트 추가 생성

      ex. Spring_pro19_Homework

    • lib 자료 copy
    • xml 파일 복습

      ex. <bean> 요소 변경 or 추가

    • 각 코드 복습

      교재 참고, 예제 추가로 작성

================================

  • 20장 (.jar 파일로 export)
    • 수업자료 12페이지
    • Calculator, 첫 번째 bean, add 제외 나머지 메서드 중 하나를 주기능으로 지정
    • xml 파일, proxyCal에 해당하는 빈 이름 변경해서 사용해보기
    • CalcTest 실행
  • 21장 - 1 (.war 파일로 export)
    • 수업자료 13페이지
    • action-servlet.xml 파일, bean id=”simpleUrlController2” 로 변경
    • 정상 실행 되게끔 나머지 요소들도 변경
  • 21장 - 2 (.war 파일로 export)
    • 수업자료 20페이지
    • bean id=”userController2” 로 변경
    • 정상 실행 되게끔 나머지 요소들도 변경








nice!

Updated: