Spring

[Spring]Spring개요__개발공부 84일차

하체는 스쿼트 2022. 7. 12. 19:16
스프링 프레임 워크 개요


  - 스프링은 자바 개발자 : 표준 프레임 워크
  - 스프링 3.x, 4.x, 5.x
  -1) 스프링 소개
  -2) 스프링의 핵심 기능 : [스프링 DI]
  -3) 스프링 빈 -자바 빈즈
  -4) 스프링 MVC
  -5) 스프링 JDBC
  -6) ORM연동 지원 : 하이버네이트, JPA, [Mybatis]
  -7) 스프링 시큐리티 (보안) - 인증, 권한 처리
  
  - 메이븐(Maven)?
  
 Chapter 01 스프링 시작하기
     Chapter02 스프링 DI를 이용한 객체 생성
     p28 ~ p128 한 번 읽기
     
 

스프링의 주요 모듈


   1) 스프링 프레임워크 : 스프링을 이용해서 어플리케이션 개발할 때 기반이 되는 프레임 워크
   2) 스프링 데이타
   3) 스프링 시큐리티(보안) - 인증/권한
   세션(인증,권한)
   필터
   4) 스프링 배치(layout) - 페이지 모듈화
   5) 스프링 인터그레이션 - 시스템 간의 연동을 위한 메시징 프레임 워크
   6) 스프링 소셜 - 트위터, 페이스북 등 소셜 네트워크 연동
  
 

스프링 설치 + 주요 모듈


   1) 빌드도구: ***[메이븐]***, 그래들
   빌드? 컴파일+실행 <더 큰 의미  프로젝트 생성->컴파일-> 배포


   2)메이븐은 jar 파일들을 중앙저장소(centeral repository)라는 서버로부터 모듈 관리(다운/설치)
예) jspPro
                      ojdbc6.jar   오라클 사이트 다운 
                      cos.jar                사이트 다운
                      등등
         
                      WEB-INF / lib 폴더 복사 붙이기.

3) pom.xml 파일에 코딩 -> 중앙저장소 ( centeral repository ) -> 로컬 저장소  jar 다운/설치
        
                 <dependency>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>spring-context</artifactId>
                    <version>4.0.4.RELEASE</version>
                 </dependency>
                

스프링 프레임워크는 기능에 따라 모듈로 분리
    트랜젝션 sptrin-tx
    웹개발 spring -webmvc
    ... 각 모듈은 별도의 Jar 파일

주요 모듈 간 의존 관계 : 부모-자식
최상위 : spring-core

 

스프링 프레임워크의 주요 모듈


표1.2
1)spring-beans : 스프링 컨테이너를 이용해서 객체를 생성하는 기본 기능 제공하는 모듈
2)spring-context : 객체 생성, 라이프 사이클 처리, 스키마 확장 등의 기능 제공하는 모듈
3)spring-aop : AOP(Aspect Oriented Progeamming) 기능 제공하는 모듈
관점   지향적인 프로그래밍 기법
4)spring-web : REST 클라이언트, 데이터 변환 처리 , 서블릿 필터, 파일 업로드 지원 등의
웹 개발에 필요한 기능을 제공하는 모듈
5)spring-webmvc : 스프링 기반의 MVC 프레임워크
등등

 

Chapter 02 스프링 DI


객체를 생성 +  사용할 수 있도록....     => 스프링 ? => DI(의존성 주입)

예)

ListHandler.java    

핸들러를 쓰려면 서비스가 있어야한다.
(=핸들러는 서비스에 의존한다.)

서비스를 쓰려면 DAO가 있어야한다.
(=서비스는 DAO에 의존한다.)

서비스를 핸들러에 주입하는 과정이   (==의존성 주입이다.)
DAO를 서비스에 주입하는 과정이   (==의존성 주입이다.)

 

 

나머지 목차


11.p50 의존 객체를 직접 생성하는 방식의 단점

12. p51 DI를 사용하는 방식의 코드 : 의존 객체를 외부에서 조립함

13.p55 생성자 방식과  프로퍼티 설정 방식

14. p57 스프링은 객체를 생성하고 연결해 주는[DI 컨테이너]

15. p59 스프링 컨테이너의 종류