Framework/Spring(6)
-
6. MVC
스프링의 주요 구성요소 DispatcherServlet 클라이언트의 요청을 전달 컨트롤러에게 클라이언트의 요청을 전달 컨트롤러가 리턴한 결과값을 view에게 전달 HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정 Controller 클라이언트의 요청을 처리 결과를 DispatcherServlet에 전달 ModelAndView 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다 ViewResolver 컨트롤러의 처리 결과를 생성할 뷰를 결정 View 컨트롤러의 처리결과 화면을 생성. JSP 등 처리 흐름 클라이언트의 요청이 DispatcherServlet에 전달 DispatcherServlet은 HandlerMapping을 사용하여 요청을 처리할 컨트롤러 객체..
2023.03.28 -
5. 어노테이션
AOP란 Aspect-Oriented Programming / 애스펙트 지향 프로그래밍 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용할 수 있는 컴포넌트에 담을 수 있게 해줌 기존 비즈니스 로직에 영향을 주지 않고 필요한 추가처리를 곳곳에 넣을 수 있는 개발 기법 인증이나 로깅 등 소프트웨어 시스템 내부의 관심사들을 서로 분리하는 기술 시스템은 보통 특정한 기능을 책임지는 여러개의 컴포넌트로 구성된다 각 컴포넌트는 특정 기능 외에 로깅이나 트랜잭션 관리, 보안등의 시스템 서비스도 수행해야 하는 경우가 있다 이러한 시스템 서비스는 여러 컴포넌트에 관련되는 경향이 있다 (횡단관심사) 이러한 관심사가 여러 컴포넌트에 퍼지게 되면, 중복되는 코드가 나타난다 애플리케이션 코드에 산재해서 나타나는 부가적인 기능을..
2023.03.28 -
4. AOP
AOP란 Aspect-Oriented Programming / 애스펙트 지향 프로그래밍 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용할 수 있는 컴포넌트에 담을 수 있게 해줌 기존 비즈니스 로직에 영향을 주지 않고 필요한 추가처리를 곳곳에 넣을 수 있는 개발 기법 인증이나 로깅 등 소프트웨어 시스템 내부의 관심사들을 서로 분리하는 기술 시스템은 보통 특정한 기능을 책임지는 여러개의 컴포넌트로 구성된다 각 컴포넌트는 특정 기능 외에 로깅이나 트랜잭션 관리, 보안등의 시스템 서비스도 수행해야 하는 경우가 있다 이러한 시스템 서비스는 여러 컴포넌트에 관련되는 경향이 있다 (횡단관심사) 이러한 관심사가 여러 컴포넌트에 퍼지게 되면, 중복되는 코드가 나타난다 애플리케이션 코드에 산재해서 나타나는 부가적인 기능을..
2023.03.28 -
3. DI / 종속객체 주입
DI란 Dependency Injection 실제 어플리케이션에서는 두 개 이상의 클래스가 서로 협력하여 비즈니스 로직 수행 이 때 각 객체는 협력하는 객체에 대한 레퍼런스(종속객체)를 얻어야 한다 그 결과 결합도가 높아지고, 테스트하기 힘든 코드가 만들어지기 쉽다private dao; dao = new ProductDAO(); ProductDAO가 강하게 결합된다 DI 이용 각 객체를 조율하는 제 3자에 의해 생성시점에 종속객체가 부여된다 객체는 종속객체를 생성하거나 얻지 않는다 종속객체는 종속객체가 필요한 객체에 주입된다 private dao; 이후 dao는 조립기가 di 주입 객체가 스스로 종속객체를 획득하는 것과는 반대로, 객체에 종속객체가 부여된다 스프링 설정파일을 이용한 의존관계 설정 조립기가..
2023.03.28 -
2. POJO
Plain Old Java Object 오래된 방식의 간단한 자바 오브젝트 Java EE 등의 중량 프레임워크를 사용하면서, 해당 프레임워크에 종속된 무거운 객체를 만들게 된 것에 반발해서 사용하게 된 용어 특정 자바 모델이나 기능, 프레임워크 등을 따르지 않는 자바 오브젝트를 지칭하는 말 언어 사양 외에 어떠한 제한에도 묶이지 않은 자바 오브젝트 다음과 같은 행동을 해서는 안된다 미리 정의된 클래스의 확장public class Exam extends java.servlet.http.HttpServlet{} 미리 정의된 인터페이스의 구현public class Exam implements javax.ejb.EntityBean{} 미리 정의된 어노테이션 포함@javax.persistence.Entity pu..
2023.03.28 -
1. spring이란
JavaEE가 제공하는 기능들을 대신 제공 가벼운 DI 및 AOP 기반 컨테이너이자 프레임워크 특징 자바 객체를 담고있는 컨테이너 컨테이너는 자바 객체의 생성, 소멸과 같은 라이프 사이클을 관리 컨테이너로부터 필요한 객체를 가져와 사용 DI 지원 Dependency Injection 설정파일이나 어노테이션을 통해 객체 간의 의존관계 설정 객체는 의존하고있는 객체를 직접 생성하거나 검색할 필요가 없다 AOP 지원 Aspect Oriented Programing 스프링 자체적으로 AOP를 지원하고 있다 트랜잭션이나 로깅, 보안등의 기능을 분리하여 각 모듈에 적용 가능 POJO 지원 Plain Old Java Object 스프링 컨테이너에 저장되는 자바 객체는 특정 인터페이스를 구현하거나 클래스를 상속받지 않..
2023.03.28