본문 바로가기

챕터정리방10

[9장] 스프링 프로젝트 시작하기 스프링을 이용해 애플리케이션을 처음 구성할 때 알아야 할 기본적인 내용을 살펴보자. 스프링 개발에 도움이 되는 개발 툴과 빌드 방법, 아키텍처 종류와 특징에 대해서도 알아보자. 1. 자바 엔터프라이즈 플랫폼과 스프링 애플리케이션 스프링으로 만들 수 있는 애플리케이션의 종류에는 제한이 없으나 스프링은 주로 자바 엔터프라이즈 환경에서 동작하는 애플리케이션을 개발하는 목적으로 사용된다. 클라이언트와 백엔드 시스템 엔터프라이즈 애플리케이션은 자신이 클라이언트가 돼서 또 다른 엔터프라이즈 시스템에 서비스를 요청할 수 있다. 또는 DB나 레거시 시스템 같은 엔터프라이즈 정보 시스템(EIS)이라는 백엔드 시스템의 기능을 이용해 동작하기도 한다. 가장 많이 사용되는 구조는 클라이언트가 웹 브라우저이고 백엔드 시스템이 .. 2022. 2. 9.
[8장] 스프링이란 무엇인가? 스프링의 정의 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크이다. 경량급 스프링은 무거운 자바 서버(WAS)가 아닌, 가장 단순한 서버환경인 톰캣(Tomcaat)이나 제티(Jety)에서 완벽하게 동작한다. 코드를 훨씬 빠르고 간편하게 작성하게 해줌으로써 생산성과 품질 면에서 유리하다는 것이 경량급이라는 말로 표현되는 스프링의 특징이다. 자바 엔터프라이즈 개발을 편하게 개발자가 복잡하고 실수하기 쉬운 로우레벨 기술에 많은 신경을 쓰지 않으면서도 애플리케이션의 핵심인 사용자의 요구사항, 즉 비즈니스 로직을 빠르고 효과적으로 구현하는 것을 말한다. .. 2022. 1. 25.
[7장] 스프링 핵심 기술의 응용 XML 설정을 이용한 분리 SQL문을 스프링의 XML 설정파일로 빼내는 방법 SQL Map 프로퍼티 방식 Map을 이용하여 Key 값으로 value에 해당하는 SQL 문장을 가져도오록 한다. // UserDaoJdbc.java public class UserDaoJdbc implements UserDao { ... private Map sqlMap; public void setSqlMap(Map sqlMap) { this.sqlMap = sqlMap; } ... public void add(User user) { this.jdbcTemplate.update( // 프로퍼티로 제공받은 맵으로부터 key 값을 이용해 필요한 SQL가져오기 this.sqlMap.get("add"), user.getId(), u.. 2022. 1. 16.
[6장] AOP AOP는 IOC/DI, 서비스 추상화와 더불어 스프링의 3대 기반기술의 하나다. 서비스 추상화를 통해 많은 근본적인 문제를 해결했던 트랜잭션 경계설정 기능을 AOP를 이용해 더욱 세련되고 깔끔한 방식으로 바꿔보자. 그리고 그 과정에서 스프링이 AOP를 도입해야 헸던 이유도 알아보자. 트랜잭션 코드의 분리 -메소드 분리 트랜잭션 경계설정의 코드와 비즈니스 로직 코드 간에 서로 주고받는 정보가 없고, 비즈니스 로직 코드를 사이에 두고 트랜잭션 시작과 종료를 담당하는 코드가 앞뒤에 위치하고 있어 메소드로 분리하였다. public void upgradeLevels() throws Exception { TransactionStatus status = this.transactionManager.getTransact.. 2022. 1. 3.