티스토리 뷰

Programming/Spring Framework

2016.5.30

짜모 2016. 5. 30. 10:46
반응형

<일반적인 웹어플리케이션 구조>



 Spring
MVC

 View

 사용자에게 보여지는 페이지

 Controller

 어떤 req가 왔을때 어떤 작업을 하고 어떤 resp를 돌려줄지

 AOP

 Service

 우리 응용에서 필요한 로직을 구현

 Spring
JDBC & ORM

 Dao 

 DB에 있는 데이터를 조회, 수정, 삭제...

 Database

 



Java 기본 JDBC를 사용하면서 불편했던 점

- PreparedStatement구문이 편하긴 한데 ? 바인딩에 대해서 타입과 위치를 개발자가 직접 다 지정해줘야 됨

- ResultSet에서 값을 줏어올 때도 타입과 위치를 개발자가 직접 지정해야 됨

- PreparedStatement구문 객체랑 ResultSet객체 사용 후 close해주는 것

- 항상 똑같은 모양인데 예외처리 해줘야 됨


세번째와 네번째는 Connection객체를 직접 제어해야되기 때문에 발생하는 문제 

ConnectionPool을 사용해서 여러개의 Connection을 제어하고 관리하면 더 힘듬

Dao가 Connection을 직접 제어하지 말고 Connection을 관리해주는 한 단계 높은 응용계층의 객체(Session)를 사용



Spring-Jdbc에서 제공하는 Connection을 관리하는 작업을 대신해주는 Session역할을 해주는 객체 → JdbcTemplate 라는 친구

저 역할을 하는 친구들이 Connection을 어떻게 연결할 지에 대한 정보는 java.sql.DataSource 인터페이스를 구현하는 객체를 활용

DataSource구현체 : 디비에 연결하기 위한 정보 집합


DataSource구현체에 접속정보


JdbcTemplate은 DataSource를 사용해 우리가 던져주는 sql문 셔틀

우리가 만들 Dao는 JdbcTemplate에 적절하게 sql문 날리고 결과값 핸들링


스프링 컨테이너에 DataSource구현체를 빈으로 등록(DB 접속 정보를 넣어서) → JdbcTemplate을 빈으로 등록(DataSource 넣어서) → JdbcTemplate을 사용하는 Dao작성 → 작성한 Dao를 빈으로 등록(JdbcTemplate 넣어서)



사용되는 맵 객체 만드는 방법


 

 자바 유틸 컬렉션 이용

 String 라이브러리 이용

 한개

delete

selectone 

 여러개

insert

 update





반응형

'Programming > Spring Framework' 카테고리의 다른 글

2016.6.13[Spring AOP]  (0) 2016.06.13
2016.6.10[Spring AOP]  (0) 2016.06.10
2016.6.8  (0) 2016.06.08
2016.5.26  (0) 2016.05.26
2016.5.25  (0) 2016.05.25
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함