본문 바로가기
프로그래밍 언어/Java

Java) 11/17 - Spring

by nomfang 2021. 11. 17.
728x90
반응형

요청 -> 인증 -> 인증별 서비스 권한

요청이 들어왔을 때 서블릿에서 forward 시 was에서 호출하고
servlet의 권한, 인자 값을 jsp에서 물려받음

Spring

  1. DI : DAO, DAOImpl의 재사용성을 높이기 위해 나온 기술
  2. MyBatis : DB와 DAO를 연결하는 SQL의 재사용성을 높이기 위한 기술로 한국에서 주로 사용됨
  3. Spring Framework MVC : Spring Framework에서 사용하는 MVC, FactoryMethodPattern 패턴

스프링을 배운다는 것은 위의 3가지 모듈을 전부 배운다는 것

스프링에서 객체를 생성 시
기본 생성자를 무조건 작성

JSP

jsp의 결과 페이지는 PC 화면에 최적화 되어있다
-> 모바일, 태블릿pc 등에는 맞지 않는 화면
=> 데이터만 리턴하는 Controller를 생성하여 전달 (RestController - RESTapi

DI

결합도를 낮추는 방안이 DI의 핵심
-> bean.jar

  1. 직접 객체 생성 X
  2. 객체 생성 Class의 주문서인 properties 작성
  3. 객체 생성을 담당하는 Class(DI Container/CoreContainer) 작성
  4. 생성된 객체를 받아서 사용

BeanFactory

CoreContainer의 제품(라이브러리)
bean -> pojo/커피 콩 처럼 딱딱하게 캡슐화를 하는 라이브러리 (Container)

  • 라이브러리 (jar파일)을 프로젝트가 가지고있어야 연결 됨
  • WebContent/WEB-INF/lib 내에 위치해야 함

ㅇ Hello instance 생성 서술적, 선언적 기술
1. bean element
- id : instance identifier
- class : instance 생성 Bean (FQCN)

    - id라는 이름으로 class를 만든다
    - 여러개의 bean을 작성 시 여러개 생성됨

Coupling

Pojo Class - Test Class
Tight 한 Coupling (결합도 높음/유지보수성 낮음) -> 직접적인 결합 (지양해야 함)

  • has a 관계 - 즉각적인 영향
    결합도를 낮추기 위해 노력해야함
  1. 직접 객체 생성 X
  2. 객체 생성 Class의 주문서인 properties 작성
  3. 객체 생성을 담당하는 Class(DI Container/CoreContainer) 작성
  4. 생성된 객체를 받아서 사용

DI Container

  1. 주문서를 읽어들인다 (~.xml Bean Configuration File) -> 개발자 역할
  2. Bean 생성 -> 컨테이너 역할
  3. Bean 저장
반응형

댓글