국비지원학원/Spring Framework

116일차-Spring Framework설명

초코맛 2019. 4. 30. 23:25
반응형
*Spring Framework
  • //최소한의 품질보장
  • Rod Johnson 창시 (EJB( Enterprise JavaBeans : 업무로직가진 서버어플리케이션)없이 업무로직 구현)
  • Spring IoC( Inversion of Control) : 제어의 역행(약결합이 좋다)=>약결합 : 객체간의 관계를 객체외부에서 설정(유연성이 좋다)=>인터페이스(자바의꽃)
            • //(=>객체가 만들어지면서 안에서 결합=>강결합)
  • IoC=>DI (Dependancy Injection) : 업무를 처리할 때 객체를 의존성주입 받아서 처리하는 : Spring core
  • EJB의 단점을 해결한 Framework
    • EJB단점)
    • => EJB Container에 의존성(없으면 안되는듯)
    • =>무겁다(안정적, 느리다)
    • =>(구조가)복잡하다(배포는 .ear로 )
    • =======================>
    • Container에 의존성이 없다(뭘써도 ok)
    • 가볍다(빠르고 안정적)
    • //(단/분산 서비스가 안됨)=>웹 환경을 이용하면 비슷하게 사용하긴함
    • 분산환경을 지원하지 않는다.(Web 환경에서 해결 가능)
    • 다른 Framework와 연동(확장) 이 편하다.
  • Spring.io에서 제공 하지만 가서 다운받지 않는다. maben레파지토리에 있는걸로 다운...(버그가 존재...)
  • (MAVEN Reposiatry에 다운)  //=>같은 환경을 제공한다는 장점
  • //객체지향언어의 3대 속성 : 상속(종단관심사처리=>형제끼리는 횡단관심사의처리로 AOP가 해줌) 다형성 캡슐화
  • 구조)
  • Spring DI : 약결합
  • Spirng AOP(Aspect Oriented Programming) : 횡단 관심사 처리
  • Spring JDBC : JDBC(편하게 사용을 도움)
  • Spring ORM (Object Relation Mapping) : DB Framework 연동(MyBatis, HIbernate)
  • Spring JNDI : 이름으로 객체를 찾는 기술
  • Spring Web : Web Framework 연동 (=>Struts1.x, 2.x) //이미 가지고있어 굳이 x
  • Spring MVC : MVC pattern 미리 구현 : 편하라고
  • //편하게 쓰라는 STS를 줌
  • Spring 개발을 편하게 하기 위해서 STS를 제공 (exefile또는 eclipse에 플러그인으로) eclipse는 IDE로 통합개발환경(특: 디버깅, .jar, .war(편함) (개발 디버깅 배포 가능한것))
    • STS=>///.xml 파일로 (이기종언어간의 데이터 전달) 
    • Spring Tool Suite(갖춰져있는)
  • 이클립스가 느려진다....STS설치...
*war로 뽑아내기
export>war file>위치 설정
import>war file로 다시 넣을 수도 있다


*Spring MVC(Model View Controller)
    • MVC=>Model View Controller : 유지보수성
      • model : DB처리(DAO)
      • View : 화면구현 (업무처리 결과를 가지고 화면구현)
      • Controller : 업무를 구분하여 처리 (결과를 VIew에 던져줌) 
  • MVC Pattern을 구현하기 편하도록 미리 만들어 둔 것
  • 요청 : 기존의 MVC는 하나컨트롤이 하나 요청이라 많아짐 => 요청을 method로 처리해 
  • ///설정을 xml 로 하는게 아니라 anotation?으로 
  • @이름 : annotation을 사용하여 처리한다. (간편하게 컨트롤러를 만들고 처리가능 해짐)

  • 동작)
  • (이미지)
  • DispatherServlet : 진입점 (모든요청받기)
  • HandlerMapper : 요청 URL을 처리할 수 있는 Controller 를 찾아 해당 Controller를 반환
  • Controller : 요청처리, 관계유지(session-server측/브라우저별////cookie -접속자HDD/브라우저를 가린다.), Service 사용
  • ViewResolver(추적) : View할 JSP를 찾는 일
  • JSP : 처리된 데이터를 가지고 응답을 해준다.
  • 폴더구성)

*Controller
  • 요청URL을 method로 처리
  • 작성법)
    1. Handler Mapper가 찾을 수 있도록 클래스 위에 @Controller 설정
    2. URL을 처리하는 method 위에 @RequestMappein 설정  <-Spring Framework에서 호출
      • @RequestMapping(value="/요청처리URL", method=RequestMethod.GET|POST)
      • public String method(  웹파라메터  ){
      • ...
      • return "View할 jsp명"
      • }
      • Web Parameter
      • <form>
      • <input type="" name=""/>
      • </form>
      • <a href="xxx.do?파라메터명=값">링크</a>
      • //휙 알아서 들어옴 HTTPRequest잘안쓰게 되고 Session그럴땐 사용
 

 

반응형