1. JDBC Template이란? JDBC Template은 개발자가 JDBC 기술을 쉽게 사용할 수 있도록 도와주는 클래스로 아래와 같은 작업을 대신 처리한다. Connection 획득 statement 생성 및 실행 Connection, statement, resultset 종료 SQL 조회, 업데이트, ResultSet 반복호출 등 JDBC 예외 발생시 org.springframework.dao 패키지에 정의된 일반 예외로 변환 위와 같은 기능들을 대신 해주기 때문에 이전에 작성한 JDBC 코드들은 훨씬 간편해진다. JDBC Template은 아래와 같이 선언한다. @Repository public class RoleDao { private JdbcTemplate jdbcTemplate; @Aut..
전체 글
1. pom.xml 설정 먼저 property에 아래와 같이 원하는 버전을 설정한다. UTF-8 4.3.5.RELEASE 8.0.31 2.1.1 이후 Maven 프로젝트의 pom.xml 설정을 해야한다. 먼저 Apache의 Connection Pool을 위해 common dbcp를 추가하기 위해서는 다음 코드를 추가해야 한다. org.apache.commons commons-dbcp2 ${commons.dbcp.version} 그리고 mysql을 사용하기 위해 프로그램과 db를 연결할 때 사용하는 MySQL Connector를 추가하기 위해 아래 코드를 추가한다. 이때 본인의 버전에 맞는 mysql을 추가하면 된다. mysql mysql-connector-java ${mysql.version} 그리고 필..
1. select version(); cmd에서 mysql에 접속한 뒤 "select version();"을 수행하면 아래와 같이 버전을 확인할 수 있다. 2. mysql --version/-V 혹은 cmd에서 "mysql --version" 혹은 "mysql -V"를 사용하면 mysql 버전을 확인할 수 있다.
1. Connection Pool이란? JDBC를 통해 DB 관련 처리를 하려면 데이터베이스의 드라이버를 로드하고 Connection 객체를 받아와야 한다. 즉, 아래 코드와 같은 과정을 거친다. Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection(dbUrl, dbUser, dbPasswd); 즉, 우리는 매번 사용자가 요청을 하면 드라이버를 로드하고 Connection 객체를 생성하고 닫는 비효율적인 과정을 거쳐야 한다. 이때 우리는 Connection Pool이라는 방법을 사용할 수 있다. Connection Pool은 DB와 연결된 Connection 객체를 미리 생성하여 관리하는 방식으로 다음과 같은 과정..
1. DAO DAO는 Data Access Object의 약자로 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체다. 즉, 데이터베이스의 data에 접근하기 위한 객체로 보면 된다. DAO는 DataBase 접근을 위한 로직과 비지니스 로직을 분리하기 위해 사용한다. 2. DTO DTO는 Data Transfer Object의 약자로 계층간 데이터 교환을 위한 JavaBeans다. 이때 계층이란 컨트롤러 뷰, 비지니스 계층, 퍼시스턴스 계층을 의미하는데 이들은 이후 MVC 패턴을 공부할 때 다룬다. 일반적으로 DTO는 로직을 가지고 있지 않은 순수한 데이터 객체며 getter와 setter 메소드만을 가진다. 또한 몇 가지 Object 메소드를 오버라이딩 할 수도 있다. 3. VO VO는 Valu..
1. 어노테이션 자바에서 어노테이션은 특수한 의미를 부여하는 역할을 수행한다. 따라서 Java config를 활용하기 위해 몇 가지 어노테이션을 살펴보자. @Configuration 스프링 설정 클래스를 선언하는 어노테이션 @Bean Bean을 정의하는 어노테이션 @ComponentScan @Controller, @Service, @Repository, @Component 어노테이션이 붙은 클래스를 찾아 컨테이너에 등록하는 어노테이션 @Component ComponentScan의 대상이 되는 어노테이션 중 하나로 주로 유틸, 기타 지원 클래스에 붙이는 어노테이션 @Autowired 주입 대상이되는 bean을 컨테이너에 찾아 주입하는 어노테이션 이때 우리는 두 가지 방식으로 나누어 Bean을 등록할 수 있..
1. Maven project 생성 먼저 아래 url에 따라 Maven project를 생성하고 pom.xml을 수정하자. https://ngp9440.tistory.com/47 Maven에서 Spring 사용법 (pom.xml 설정) 1. Maven 프로젝트 생성 아래 url에서 나온 방식으로 maven 프로젝트를 생성하자. Archetype은 원하는 것으로 설정하고 프로젝트 생성 후 JDK는 해당 url에 나온 데로 1.8 버전으로 수정한다. (해당 장에서 ngp9440.tistory.com 2. Bean이란? Spring IoC 컨테이너는 "빈(Bean)"이라는 객체를 관리한다. 이 때문에 Spring은 이 빈들을 관리한다는 의미로 컨테이너를 "Bean Factory"라고 부른다. 아래서 배우겠지만..
1. Maven 프로젝트 생성 아래 url에서 나온 방식으로 maven 프로젝트를 생성하자. Archetype은 원하는 것으로 설정하고 프로젝트 생성 후 JDK는 해당 url에 나온 데로 1.8 버전으로 수정한다. (해당 장에서 Archetype은 maven-archetype-quickstart를 사용했다.) https://ngp9440.tistory.com/35 Maven이란? 1. Maven이란? JSP에서 JSTL을 사용하기 위해서는 WEB-INF 폴더의 lib 폴더 안에 3가지 jar파일을 아래와 같이 추가해야 한다. 이때 이와 같은 파일들은 프로젝트에 참여하는 사용자가 많아질수록 관리하 ngp9440.tistory.com 2. pom.xml에 spring 라이브러리 추가 Spring Bean F..