• Home
  • About
    • Develop2r photo

      Develop2r

      안녕하세요 IT 개발자 임기남입니다. 한걸음 한걸음 나아가는 개발자를 꿈꾸고 있습니다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects
  • Algorithm

Spring

11 Jun 2020

Reading time ~1 minute

Spring

  • 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크.
  • 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공.
  • 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술.

Feature_List

  • Bean
  • IoC
  • DI
  • AOP

Bean

  • POJO(Plain Old Java Object)
  • 자바 객체
  • 주로 XML파일에 다음과 같이 정의한다.
  <bean id="..." class="..."></bean>

IoC

  • Inversion of Control(제어의 역전)
  • 스프링 컨트롤러가 객체의 생명 주기를 관리
  • 컨트롤의 제어권이 사용자가 아니라 프레임워크가 필요에 따라 스프링에서 사용자의 코드를 호출

DI

  • Dependency Injection(의존성 주입)
  • 객체를 직접 생성하지 않고 외부에서 생성한 후 주입
  • @autowired 등으로 bean을 등록하여 사용 가능

AOP

  • Aspect Oriented Programming(관점 지향 프로그래밍)
  • 핵심적인 관점, 부가적인 관점으로 각 관점을 기준으로 로직을 모듈화
  • 주요 개념
    • Aspect : 위에서 설명한 흩어진 관심사를 모듈화 한 것. 주로 부가기능을 모듈화
    • Target : Aspect를 적용하는 곳 (클래스, 메서드 .. ) / 적용할 위치를 다음과 같은 어노테이션 이용 설정가능
      • @Before (이전) : 어드바이스 타겟 메소드가 호출되기 전에 어드바이스 기능을 수행
      • @After (이후) : 타겟 메소드의 결과에 관계없이(즉 성공, 예외 관계없이) 타겟 메소드가 완료 되면 어드바이스 기능을 수행
      • @AfterReturning (정상적 반환 이후)타겟 메소드가 성공적으로 결과값을 반환 후에 어드바이스 기능을 수행
      • @AfterThrowing (예외 발생 이후) : 타겟 메소드가 수행 중 예외를 던지게 되면 어드바이스 기능을 수행
      • @Around (메소드 실행 전후) : 어드바이스가 타겟 메소드를 감싸서 타겟 메소드 호출전과 후에 어드바이스 기능을 수행
    • Advice : 실질적인 부가기능을 담은 구현체

    • JointPoint : Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, 필드에서 값을 꺼내올 때 등 다양 한 시점에 적용가능

    • PointCut : JointPoint의 정의한 것. 구체적으로 Advice가 실행될 지점을 정할 수 있음


spring Share Tweet +1