본문 바로가기

Spring3

[Spring] 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍이란 횡단 관심사의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 공통된 관심사를 따로 분리해서 주 관심사(CC)와 공통 관심사(CCC)로 나누어 모듈화 시키는 방식이다. Advice (CCC) 공통적으로 빠져나온 관심사 Join Point (CC) Advice가 연결될 수 있는 모든 point들의 집합 Point Cut (CC) Advice가 연결될 결합점에 대한 상세한 정의 Advisor (Aspect) Adivice + Point Cut 흩어진 관심사들을 모듈화한 것 Weaving (CrossCutting) Advisor를 대상 객체에 결합하는 행위 AOP를 그림으로 이해하기 여기 비슷한 기능을 하는 메소드를 가지고 있는.. 2020. 2. 19.
[Spring] 의존성 주입 DI 의존성 주입 DI public class Dog { Animal animal = new Animal(); public void bark(){ animal.dog(); } } 의존이란 어떤 클래스의 처리 내용이 다른 클래스의 내용이 변경됨에 따라 달라지는 관계를 뜻한다. Dog 클래스에서는 Animal 클래스에 정의되어있는 메서드를 사용하기 위해 Animal의 객체를 생성(new)한 다음 Animal의 dog메서드를 호출하고 있다. 이를 Dog 클래스가 Animal에 의존한다고 표현한다. Animal의 dog 메서드의 내용이 달라지면 Dog 클래스의 bark 메서드의 내용 또한 달라지게 된다. 의존성 주입(DI)이란 프로그래밍에서 구성요소 간 의존관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의.. 2020. 2. 19.
[Spring] 스프링 기초 Spring 스프링의 정의 스프링이란 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 프레임워크란 프로그램의 골격이 되는 기본 코드를 제공하고, 소프트웨어 개발을 간소화하기 위해 개발되었다. 개발자는 프레임워크를 기반으로 소스코드를 작성하여 소프트웨어를 완성시키면 된다. 또한 스프링은 EJB(Enterprise JavaBean)기반 개발에서 POJO(Plain Old Java Object) 기반 개발이 가능하게 해준다. 스프링의 특징 경량 컨테이너 스프링은 EJB와 같이 복잡한 순서를 거치지 않아도 간단하게 이용할 수 있다. 자바 객체를 직접 관리하며 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리한다. (만들어질 당시는 경량이지만 지금은 아니다.) DI (Dependency Injection, 의존.. 2020. 2. 10.