HeadCopter

Spring 개념 정리(1) 본문

Java

Spring 개념 정리(1)

JungMonkey 2023. 2. 7. 09:19

Spring 시스템 순서

1. Client에서 HTTP 요청을 보내면 Servlet Container에서 해당 요청을 처리한다. 
2. Servlet Container의 DispatcherServlet이 처리하도록 Http Request 정보를 전달한다. 
3. DispatcherServlet은 Http Request의 정보를 읽어서 해당 Controller를 찾는다. 
4. 매핑된 Controller에서 해당 요청을 처리한다. 
5. Service는 DAO를 호출하여 비지니스 로직을 수행한다.
6. DAO는 DB에 접근하여 데이터를 받는다. 
7. DAO까지 수행하면 Controller에서 다시 해당 정보를 리턴받아 Model에 넣고 , ViewName을 DispatcherServlet에 리턴 시킨다.
8. DispatcherServlet에서 리턴받느 ViewName에 해당하는 ViewResolver에 커넥트되어 어떤 View파일을 활용할지 결정한다. 
9. View파일과 Model의 정보를 최종적으로 사용자에게 보여질 UI화면을 응답(Response)에 담아 클라이언트에게 리턴시킨다. 
10. 클라이언트는 Http response를 받아 결과를 파싱하는 등의 처리를 진행해서 최종적으로 사용자에게 화면을 표시한다. 

Spring 특징 

1. 경량 컨테이너에서 자바 객체를 직접 관리 (객체 생성, 소멸과 같은 라이프 사이클을 개발자가 아닌, 프레임워크에서 관리한다. )
2. POJO(Plain Old Java Object)방식으로 객체가 가벼우며, 기존에 존재하는 라이브러리 등을 활용하여 개발이 가능하다.
3. 제어의 역전(IoC : Inversion of Control) 필요에 따라 스프링에서 사용자의 코드를 호출한다. 
4. MVC 패턴은 모델 - 뷰 - 컨트롤러의 구성요소로 이루어졌고 역할을 세분화시킨다. 
5. 의존성 주입(DI)은 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다. 
6. 관점 지향 프로그래밍 (AOP) 로깅, 보안 같은 공통 기능을 분리하여 관리 한다. 

Spring Bean 

 Java라는 프로그래밍 언어는 인도네시아 Java 섬 커피를 즐겨 마시던 개발자에 의해 만들어 지게 되었다.
 그래서 Java섬에서 유명한 커피관련된 용어를 사용했다. 
 또한, Bean(커피콩)을 항아리(jar)에 담겠다고 해서 최종 빌드된 패키징파일은 .jar파일로 생성되게 된다 .
 그 중에서 Java 프로그램의 구성요소를 커피콩에 비유해서 Bean이라 했음


public class Car implements java.io.Serializable{

 private String name;
 public Car(){}

 void setName(String name){
  this.name = name;
 }

 String getName(){
  return this.name;
 }
}

Spring Bean은 기본적으로 Spring 관리하는 오브젝트이다. 
Bean은 Spring FrameWork Container에 의해 인스턴스화되고, 구성되고, 관리되는 객체이다. 
Spring Bean은 스프링 설정파일 또는 어노테이션에 의해 정의되고, 스프링에 의해 인스턴스화된 후 응용 프로그램에 주입된다. 

'Java' 카테고리의 다른 글

Java 클래스 만들기(1)  (0) 2024.06.18
Class와 객체(Object) 개념  (0) 2022.07.27
[Java]생성자 (Constructor)  (0) 2022.07.25
[Java] 메모리 구조  (0) 2022.07.23