(spring) 1. 쌍용 교육 Day2

1 분 소요

커리큘럼 구성
AOP와 Transaction 두개가 같이 가야함

JDBC 개념과 역할

  • 자바애플리케이션에서 표준화된 데이터베이스 접근 제공
  • 각 데이터베이스 접속에 대한 상세한 정보를 추상화

JDBC 코드의 문제점

  • 생산성과 효율성 저하
  • 원인
    • 구조 Code가 있음 => 예외처리를 무조건 해주어야하고, 자원 반납을 해야함.(매번)
    • Data 구조 불일치 => app:Object를 DB:Table 테이블에서 Object로 변환 해주어야 하는 작업이 필요함. setString(1),getString(1)
  • 해결 방안
    • JDBCTemplate
      • 반복코드는 제거되나 , 테이블을 Object로 변화하는 작업은 해야함…
      • 많이 사용안함 인덱스 기반의 ?, ?, ? 순서로 대입된다.
    • 하이버네이트
      • 반복코드 제거, 변환작업 까지도 해줌
    • mybatis
    • dbcp
    • 히카리CP

JDBC 커넥션풀 설정

  • 커넥션풀이란? 한번 쓰고 버리는 작업
  • DataSource를 사용하면 커넥션 풀을 사용한다는 뜻이다.
  • 요즘 많이 사용하는 커넥션풀은 히카리cp??

JDBCTemplate

  • 이 방법은 실무에서 거의 사용안함
  • 이유: 반복코드는 제거되나 , 테이블을 Object로 변화하는 작업은 해야함 반복코드도 완벽하게 제거할 수 없다.
  • 대략적인 방법만 알아두자..

MVC 패턴

  • WebApplicationContext
  • DispatcherServlet과 IOC컨테이너는 1:1 관계
    • 서로 같은 객체를 각각 관리하는 경우 문제가 발생
    • RootIOC로 공통 객체를 관리해야한다.(root-context.xml)
      • 데이터베이스 등의 공통 객체 등록

어노테이션

  • 컴포넌트 스켄하여 어노테이션 정보들을 싹다 읽어온다. (servlet-context.xml) ~~~xml

~~~

  • @Controller : spring ico에 등록 + requestMappingHandlerMapping의 호출 대상 “요청처리기”
  • @RequestMapping :
    • @GetMapping 등 RESTFull api규격에 맞는 어노테이션이 새로 나옴..
  • @ResponseBody : Restapi를 사용할 때 이 방식 사용

Controller 데이터 받기

  • 기존 방식
    1. 파라미터를 사용하고 싶을때 HttpServletRequest 이렇게 데이터를 받으면 servlet에 종속된다..(사용x)
  • 스프링에서 만들어주는 방식
    1. String [쿼리스트링네임], VO [쿼리스트링네임] 네임으로 받을 수 있다.
    2. 파라미터도 다 받을 필요 없음
    3. 형변환도 자동으로 spring이 알아서 해준다.. 싱기

Controller 데이터를 JSP로 값 전달

  • model 객체에 addAttribute 메서드로 key, value를 실어서 보낸다.
  • Jsp에서는 ${key} 값으로 출력할 수 있음.

댓글남기기