순수 Jdbc와 동일한 환경설정을 하면 된다.스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource) } @Override public Mem..
Spring
JDBC란자바 언어를 이용해서 데이터베이스에 접근할 수 있도록 도와주는 자바 표준 API이다. 자바 언어를 사용해서 데이터베이스에 접근할 수도 있고 SQL 쿼리를 실행할 수도 있다. DB 접근 기술들 중 하나인 SQL Mapper, ORM 기술들 모두 로우 레벨단에서는 JDBC API가 동작하고 있다. 즉, 자바를 이용해서 접근하는 DB 접근 기술들은 JDBC API가 가히 필수적이다. JDBC(표준)가 왜 필요했을까 - 표준의 부재로 인한 문제점1. 새로운 데이터베이스의 사용법을 배워야 한다.각 데이터베이스마다 사용법이 다르다.학습의 몫은 개발자에게 있다.2. 프로덕션 코드의 변경 범위가 커질 수 있다.DIP(의존 역전 원칙) 위배기대하는 기능은 같아도, 코드 변경 범위가 클 수 있다. JDBC의 ..
Spring 생태계spring : 스프링 프로젝트들의 모음다양한 스프링 프로젝트들을 확인할 수 있다. 모든 스프링 프로젝트는 스프링 프레임워크를 기반으로 동작한다. Spring Framework스프링 프레임워크를 사용하면 자바 기반의 어플리케이션을 만들 수 있고 개발자들은 비즈니스 로직에 집중할 수 있다. EJB2000년대 초반 등장. 스프링 같은 프레임워크목적 : 비즈니스 로직과 앤터프라이즈 기술의 분리 → 편리한 애플리케이션 개발실제너무 비싸다비즈니스 로직보다 EJB를 사용하기 위한 코드가 너무 많다EJB에 너무 의존적이고 종속적인 개발 → 기존 JAVA의 장점 못 살림(객체지향) Spring초기 설정만 잘 해두면 EJB와 동일한 기능을 제공하며 JAVA의 최대 장점인 객체지향 살려서 개발 가능커..
빌드 관리 도구빌드소스 코드 파일을 컴파일에서 실행할 수 있는 가공물로 변환하는 과정 또는 결과물우리가 작성한 소스코드(java), 프로젝트에서 쓰인 각각의 파일 및 자원 등(.xml, jpa, jpg, properties)을 jvm이나 톰캣 같은 WAS가 인식할 수 있는 패키징하는 과정 및 결과물이라고 할 수 있다.컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일(Compile + 그 외 작업)빌드 관리 도구소스 코드를 컴파일하고 테스트하며 정적 분석 등을 수행하여 실행 가능한 애플리케이션을 자동으로 생성하는 프로그램이다.계속해서 늘어나는 라이브러리를 자동으로 추가 및 관리하고, 프로젝트를 진행하면서 시간이 지남에 따라 라이브러리의 버전을 자동으로 동기화한다.초기의 Java빌드 도구로는 Apach..
마이크로서비스 아키텍처로 진화애플리케이션 프레임워크우리가 애플리케이션을 구축하는 기능의 집합으로, 앱을 구축하는데 사용할 수 있는 광범위한 도구와 기능을 제공한다. 프레임워크가 제공하는 모든 기능을 사용할 필요는 없으며, 만들려는 앱이 요구하는 사항에 따라 사용할 프레임워크 부분을 적절히 선택하면 된다(올바른 결과를 얻기 위해 어떤 기능을 선택하고 어떻게 조립해야 할지 알아야 한다). 유사한 요구사항로깅 오류, 경고(warning), 정보(info) 메시지는 모든 앱에서 발생한다.대부분의 애플리케이션은 트랜잭션을 사용하여 데이터 변경을 처리한다. 트랜잭션은 데이터 일관성을 관리하는 중요한 메커니즘을 나타낸다.(13장)애플리케이션 대부분은 공통으로 발생하는 동일한 취약점에 보호 메커니즘을 사용한다.애플리케..
Exception Handling in Spring MVCNOTE: Revised April 2018 Spring MVC provides several complimentary approaches to exception handling but, when teaching Spring MVC, I often find that my students are confused or not comfortable with them. Today I'm going to show you the various options avaispring.io 목표Spring MVC는 예외처리를 위한 몇 가지 상호 보완적인 접근 방식을 제공한다. 목표는 가능한 한 컨트롤러 메서드에서 명시적으로 예외를 처리하지 않는 것이다. 예외는 별도의..