Spring(4)
-
JPA
객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 ORM(Object Relational Mapping) 프레임워크 JPA는 자바 진영의 ORM표준 * 가장 큰 성과는 애플리케이션을 SQL이 아닌 객체 중심으로 개발하니 생산성과 유지보수가 확연히 좋아졌고 테스트를 작성하기도 편리 -> 이런 장점으로 버그도 많이 줄었다. 개발단계에서 MySQL데이터베이스를 사용하다가 오픈 시점에 오라클 데이터베이스를 사용하기로 정책이 변경된 적이 있었는 데, JPA 덕분에 코드를 거의 수정하지 않고 데이터베이스를 손쉽게 변경할 수 있었다. * JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. * JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패더..
2020.08.24 -
Spring(스프링)
정의 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 *애플리케이션 프레임워크 : 특정 계층이나, 기술, 업무 분야에 국한 되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임 워크를 말한다. 애플리케이션 프레임워크는 애플리케이션 개발의 전과정을 빠르고 편라하며 효율적으로 진행하는 데 일차적인 목표를 두는 프레임워크다. 애플리케이션 전 영역을 관통하는 일관된 프로그래밍 모델과 핵심 기술을 바탕으로 해서 각 분야의 특성에 맞는 필요를 채워주고 있기 때문에, 애플리케이션을 빠르고 효과적으로 개발할 수가 있다. *경량 EJB와 대조적으로 톰캣이나 제티에서도 완벽하게 동작하고 코드는 더 단순하고 개발 과정은 편리하다. 그리고 코드에 불필요하게 등장하던, 프레임워크와 서버..
2020.08.24 -
applicationContext
애플리케이션 컨텍스트의 역할은 단지 오브젝트 생성과 다른 오브젝트와의 관계설정만이 전부가 아니다. 오브젝트가 만들어지는 방식, 시점과 전략을 다르게 가져갈 수도 있고, 이에 부가적으로 자동생성, 오브젝트에 대한 후처리, 정보의 조합, 설정방식의 다 변화, 인터셉팅 등 오브젝트를 효과적으로 활용할 수 있는 다양한 기능을 제공한다. 또, 빈이 사용할 수 있는 기반 기술 서비스나 외부 시스템과의 연동 등 을 컨테이너 차원에서 제공해주기도 한다. applicationContext.getBean() : 빈의 이름을 이용해 빈을 찾아준다. bean : 스프링이 IoC방식으로 관리하는 오브젝트, 관리되는 오브젝트(managed object) 주의 할점은 스프링을 사용하는 애플리케이션에서 만들어지는 모든 오브젝트가 다..
2020.08.23 -
JDBC 트랜잭션의 트랜잭션 경계설정
Connection c = dataSource.getConnection(); c.setAutoCommit(false); // 트랜잭션 시작 try { PreparedStatement st1 = c.prepareStatement("update users ... "); st1.executeUpdate(); PreparedStatement st2 = c.prepareStatement("delete users ... "); st2.executeUpdate(); c.commit(); // 트랜잭션 커밋 } catch(Exception e) { c.rollback(); // 트랜잭션 롤백 } c.close(); 모든 트랜잭션은 시작하는 지점과 끝나는 지점이 있다. 시작하는 방법은 한 가지이지만 끝나는 방법은 2가지..
2020.08.22