Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- JavaScript #예제 #복습 #Web #웹 #개발자가되고파ㅜㅜ
- mybatis자료형 #참고자료
- 페이징처리예제
- 데이터베이스 #DataBase #Oracle #DB #DataBase개요
- 데이터조회예제
- JavaScript #자바스크립트 #복습 #배열 #Array
- 데이터매핑
- 프레임워크
- 복습
- Java #자바 #인터페이스 #implements #다형성 #interface #복습 #정리 #나만의공부
- 서블릿기초 #servlet #java #webprogramming
- JavaScript #자바스크립트 #선택자 #HTML태그접근 #JS
- 정리
- Java #JDBC #Mybatis #동적SQL
- fremework
- Java
- 스프링
- JavaScript #선언적함수 #익명함수 #화살표함수 #함수선언방법 #복습
- 동적sql
- springframework
- JavaScript #인라인 #인터널 #익스터널 #데이터입출력
- 어노테이션
- Spring
- mybatis
- 예제
- Java #자바 #초보개발자 #다형성 #동적바인딩 #instanceof #학습 #요약정리 #복습
- List데이터조회
- WEB
- Java #Web #공부 #복습 #Servlet #서블릿 #포워드 #sendRedirect #dispatcher
- 특징및기본구조
Archives
- Today
- Total
개발군싹
[Spring]Spring이란? 본문
Spring이란?
Java 플랫폼을 위한 오픈 소스 어플리케이션 프레임워크로 간단하게 '스프링'이라고 한다.
동적인 웹 사이트 개발을 위해 여러가지 서비스를 제공한다.
⭐ 특징 ⭐
- DI(Dependency Injection) 의존성 주입 : 설정 파일이나 어노테이션을 통해 객체 간의 의존 관계를
설정하여 개발자가 직접 의존하는 객체를 생성할 필요 없음 - Spring AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 : 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로
필요로 하는 기능의 경우 해당 기능들을 분리하여 관리 - POJO(Plain Old Java Object) : 일반적인 J2EE 프레임워크에 비해 특정 라이브러리를 사용
할 필요가 없어 개발이 쉬우며 기존 라이브러리의 지원 용이 - IoC(Inversion of Control) 제어 반전 : 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로 객체의 생성부터 모든 생명주기의 관리까지 프레임워크가 주도 객체를 생성하고 직접 호출하는 프로그램이 아니라 만들어둔 자원을 호출하여 사용
- Spring JDBC : Mybatis나 Hibernate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스 제공
- Spring MVC : MVC 디자인 패턴을 통해 웹 어플리케이션의 Model, View, Controller 사이의 의존 관계를 DI 컨테이너에서 개발자가 아닌 서버가 객체들을 관리하는 웹 어플리케이션 구축
Spring MVC 구성요소
DispatcherServlet : 클라이언트의 요청을 전달받고 요청에 맞는 컨트롤러가 리턴한 결과 값을 View에 전달하여 알맞은 응답을 생성한다.
HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정한다.
Controller : 클라이언트의 요청을 처리한 뒤 결과를 DispatcherServler에게 리턴한다.
ViewResolver : 컨트롤러의 처리 결과를 생성할 View를 결정한다.
View : 컨트롤러의 처리 결과 화면 생성, JSP를 View로 사용한다.
Spring MVC 요청 처리 과정

- 웹 어플리케이션이 실행되면 Tomcat(WAS)에 의해 web.xml이 로드된다.
- web.xml에 등록되어있는 ContextLoaderListener(Java Class)가 생성된다. ContextLoaderListener 클래스는 ServletContextListener 인터페이스를 구현하고 있으며 ApplicationContext를 생성하는 역할을 수행한다.
- 생성된 ContextLoaderListener는 root-context.xml을 로드한다.
- root-context.xml에 등록되어있는 Spring Container가 구동되고 이때, 개발자가 작성한 비지니스 로긱에 대한 부분과 DAO,VO 객체들이 생성한다. ➡️ 의존성주입(DI)에 의해 생성 등록된 객체 (BeanFactory)들이 Spring에 의해 자동 생성
- 클라이언트로부터 요청(Request)가 온다.
- DispatcherServlet(Servlet)이 생성되고 이 servlet은 FrontController의 역할을 수행한다.
- 클라이언트로부터 요청 온 메세지를 분석하여 알맞은 Controller에게 전달하고 응답을 받아 요청에 따른 응답을 어떻게 할지 결정한다. 이러한 응답 결과를 결정할 클래스들을 HandllerMapping, ViewResolver 클래스라고 한다.
Spring Project 구조
- Spring Project 폴더구조

- main 폴더

- Webapp 폴더

'Spring' 카테고리의 다른 글
| [Spring]MyBatis 연결/등록하기 (0) | 2023.12.12 |
|---|---|
| [Spring] 요청 데이터 매개변수를 이용한 데이터 맵핑 예제 (0) | 2023.12.10 |
| [Spring]@RequestMapping() (1) | 2023.12.10 |
| [Spring]Spring Bean? (0) | 2023.12.07 |
| Maven, Spring IDE(STS4) 설치 (0) | 2023.12.05 |