(spring) 1. 쌍용 교육 Day2
커리큘럼 구성
AOP와 Transaction 두개가 같이 가야함
JDBC 개념과 역할
- 자바애플리케이션에서 표준화된 데이터베이스 접근 제공
- 각 데이터베이스 접속에 대한 상세한 정보를 추상화
JDBC 코드의 문제점
- 생산성과 효율성 저하
- 원인
- 구조 Code가 있음 => 예외처리를 무조건 해주어야하고, 자원 반납을 해야함.(매번)
- Data 구조 불일치 => app:Object를 DB:Table 테이블에서 Object로 변환 해주어야 하는 작업이 필요함.
setString(1)
,getString(1)
- 해결 방안
- JDBCTemplate
- 반복코드는 제거되나 , 테이블을 Object로 변화하는 작업은 해야함…
- 많이 사용안함 인덱스 기반의 ?, ?, ? 순서로 대입된다.
- 하이버네이트
- 반복코드 제거, 변환작업 까지도 해줌
- mybatis
- dbcp
- 히카리CP
- JDBCTemplate
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 데이터 받기
- 기존 방식
- 파라미터를 사용하고 싶을때 HttpServletRequest 이렇게 데이터를 받으면 servlet에 종속된다..(사용x)
- 스프링에서 만들어주는 방식
String [쿼리스트링네임]
,VO [쿼리스트링네임]
네임으로 받을 수 있다.- 파라미터도 다 받을 필요 없음
- 형변환도 자동으로 spring이 알아서 해준다.. 싱기
Controller 데이터를 JSP로 값 전달
- model 객체에 addAttribute 메서드로 key, value를 실어서 보낸다.
- Jsp에서는 ${key} 값으로 출력할 수 있음.
댓글남기기