본문 바로가기

[ Developer ]/Spring Framework16

[Spring] 스프링 기반 간단한 게시판 Spring 간단한 게시판 # 패키지 구조 기존 방식 WEB -> Biz -> DAO 바뀐 방식 WEB -> Service -> Biz -> DAO Transaction 처리를 위해서 Service를 추가한 것 WEB Controller Session 필요 시 생성 후 Service로 넘김 단순하게 URL Mapping을 통해 서비스 호출 기능 Service Interface, Class 작성 Transaction 처리 Controller의 업무를 받아서 처리 여러 개의 Biz를 가짐 우선 DB를 생성하기 위해서 Toad for Oracle에서 System 계정으로 로그인한다 Schema Browser에서 Users에서 계정을 추가한다 SPRING / spring로 계정을 생성한다 그런 후 Tablesp.. 2016. 6. 30.
[Spring] 스프링 JPA ORM Spring Data JPA JPA(Java Persistence API) 관계형 데이터베이스에 접근하기 위한 표준 ORM 기술을 제공 EJB에서 제공 되었던 엔티티 빈(Entity Bean)을 대체하는 기술 장점 객체지향적으로 데이터 관리 비즈니스 로직에 집중할 수 있으며 객체지향 개발이 가능 테이블 생성 변경 관리가 쉽다 로직을 쿼리에 지중하기 보다 객체 자체에 집중할 수 있다 빠른 개발이 가능 단점 어렵다 잘 이해하고 사용하지 않으면 데이터 손실 발생 성능상 문제가 있을 수 있다 Spring Data 오픈 소스 프로젝트이며 Spring 관련 어플리케이션에 새로운 데이터 접근 기술을 쉽게 사용하도록 도와주는 역할 단순한 통합 처리 CRUD + 쿼리 동일한 인터페이스 페이징 처리 메소드 이름으로 쿼리 .. 2016. 6. 15.
[Spring] 스프링 웹 소켓이란? 웹 소켓으로 간단한 채팅 만들기 Web Socket WEB Socket HTTP 통신의 단점을 개선하기 위함 일방향 통신 웹 소켓은 반 영구적 양방향 통신 연결이 끊어지지 않고 지속됨 온라인 게임이 소켓 프로그래밍의 일종 HTML5의 주요 API HTTP Protocol을 기반으로 하는 웹 브라우저와 웹 서버 간의 양방향 통신을 지원하기 위한 표준 Client와 Server가 실시간으로 메시지를 자유롭게 주고 받을 수 있음 # HTTP 4 기술 (Socket 전) Apache Comet Polling 계속 문의하는 것 Client가 Server에 요청을 하면 응답을 하고 받자마자 요청한다 위의 과정을 계속 반복한다 브라우저 종료시 까지 서버에 부담이 많이 가게 된다 Long Polling 폴링의 단점을 개선한 것 요청을 하면 Server는 새로운게 있을 .. 2016. 6. 15.
[Spring] 스프링 JDBC와 OJDBC의 차이 OJDBC와 Spring JDBC의 차이 OJDBC Connection, Prepared, Statement, Result Set 등 Open / Close 작성 필요함 Close 하지 않을 경우 메모리 누수 문제 OJDBC의 Statement를 사용함으로써 SQL Injection 위험이 따름 쿼리가 지저분해지며 추상화가 어려움 추상화가 어려우므로 수정 / 확장에 큰 어려움 발생 Connection-Pool 지원하지 않아 쿼리 수행 속도가 떨어짐 Connection을 필요할 때 마다 일일이 생성 하나의 Connection을 사용한다면 동시성 문제 발생 병목 현상이 지속적 발생 업무 단위의 Transaction이 지원되지 않음 단일 쿼리의 Transaction은 지원 ex) 출금 혹은 송금 등의 Tran.. 2016. 6. 14.