본문 바로가기
CS/웹

스프링

by DYII 2022. 3. 5.
728x90

스프링 mvc 구조

 View - Controller - Service -Serviceimpl - DAO - DAOimpl - DTO

* DAO (Data Access Object) 

 - 프로젝트와 데이터베이스 연결. mapper에 sql을 명시한 뒤 mapper와 함께 데이터베이스와 데이터 주고받음.

 

* DTO (Data Transfer Object) 

 - MVC 구조 사이사이에서 데이터 교환을 위한 오브젝트

 

IoC (Inversion Of Control)

제어의 역전. 제어의 흐름을 사용자가 아닌 특별한 객체에 맡기는 것. 객체의 생성부터 생명주기 등 모든 객체에 대한 제어권이 넘어간 것.

 

 

IoC Container 

스프링 컨테이너. 프로젝트에서 사용되는 객체들을 Bean으로 관리하고 있고, @Autowired를 통해 객체 주입함.

 

DI (Dependency Injection)

의존성 주입. 스프링에서 IoC 구조를 만드는 방식.  객체의 의존성을 줄이기 위해 사용. 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 줌.

 

스프링 프레임워크의 특징

1. POJO (Plain Old Java Object)

 평범한 자바 오브젝트.  getter/setter를 가진 단순 자바 오브젝트로 정의함으로서 의존성이 없고 추후 테스트 및 유지보수가 편리한 유연성의 장점을 가지는 것. 객체지향적인 다양한 설계와 구현이 가능해짐.

 

2. AOP (Aspect Oriented Programming)

 관점 지향 프로그래밍. 핵심 기능과 공통 기능을 분리시켜 핵심 로직에 영향을 끼치지 않게 공통기능을 끼워 넣는 개발 형태로 무분별하게 중복되는 코드를 한 곳에 모아 중복되는 코드를 제거할 수 있음. 

 

스프링 동작과정

 

 

POM (Project Object Model)

 프로젝트의 구조와 내용을 설명하며 pom.xml 파일에 프로젝트 관리 및 빌드에 필요한 환경 설정, 의존성 관리 등의 정보들을 기술.

버전 및 설정 관리, 빌드 환경, 라이브러리 저장소 및 의존성 등 세부 메타데이터 정보를 포함.

 

Maven

 자바 프로젝트의 빌드를 자동화해주는 빌드 툴. 자바 소스를 compile 하고 package 해서 deploy 하는 일을 자동화해줌.

 - settings.xml

 maven tool 자체에 관련된 설정 담당

 - pom.xml

 POM을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정함.

 

 

 

 

 

 

 

 

728x90

'CS > ' 카테고리의 다른 글

ibatis란!  (0) 2022.04.20
객체 지향 설계와 스프링  (0) 2022.03.06
[React] 생명주기  (0) 2021.09.06
JS 비동기 HTTP 통신  (0) 2021.08.07
서블릿 구조  (0) 2021.07.22