본문 바로가기

웹개발37

스프링 개발전 설정파일 작성하기 - part1 순서 ★스프링 설정파일 셋팅 1.pom.xml셋팅 2.web.xml셋팅 3.beans-biz.xml(root설정파일. 공통으로 사용할 클래스를 Bean객체로 만들어줄 root 파일) 4.mybatis-config.xml (마이바티스 설정파일) 5.mapper xml 작성 6.mvc.xml (컨트롤러 클래스를 자동으로 DI 컨테이너에 등록시키거나, 정적리소스 설정, 뷰리졸버 설정) ★스프링 클래스 파일 작성하기 7.VO 클래스 작성하기 8.DAO 인터페이스 작성하기 9.Service와 ServiceImpl 작성하기 10.Controller 작성하기 1.pom.xml 셋팅 메이븐 프로젝트를 생성하고 pom.xml 부분 작성해주고, 필요한 라이브러리들을 다운로드 받는다. 4.0.0 ZSpring ZSpring.. 2020. 11. 14.
스프링 4 MyBatis 연동 MyBatis를 사용하기 위한 라이브러리 MyBatis와 Mysql db를 연동하기 위해 먼저 pom.xml에 필요한 라이브러리들을 넣어준다. org.springframework spring-jdbc ${org.springframework-version} commons-dbcp commons-dbcp 1.4 mysql mysql-connector-java 8.0.12 org.mybatis mybatis 3.4.5 org.mybatis mybatis-spring 1.3.1 MyBatis의 사용 MyBatis의 핵심 API는 SqlSession(Mybatis가 제공하는 인터페이스) 이다. SqlSession오브젝트는 SQL문을 외부 파일에서 읽어 들여서 발행하고, 도메인과 레코드의 변환을 담당해준다. 매핑 .. 2020. 11. 12.
스프링 4 MVC - part 3 DispatcherServlet과 CharacterEncodingFilter 설정 Bean 정의파일에 설정한 내용을 바탕으로 DispatcherServlet을 설정한다. 먼저 web.xml에 설정하는 방법을 알아보고, Servlet3.0 이후의 환경에서 사용할 수 있도록 WebApplication Initializer를 사용한 방법도 알아본다. web.xml Sample MVC contextConfigLocation classpath:/META-INF/spring/beans-biz.xml org.springframework.web.context.ContextLoaderListener dispatcherServlet org.springframework.web.servlet.DispatcherServlet .. 2020. 11. 11.
스프링 4 MVC - part 2 환경구축 - 이클립스 파일 -> NEW-> Other -> Maven -> MavenProject 선택 - create a simple project 체크 - Packaging 은 war 지정 - pom.xml 설정 4.0.0 sample.customer web war 1.0.0-RELEASE Spring MVC Sample 4.2.6.RELEASE org.springframework spring-webmvc ${org.springframework-version} javax.servlet javax.servlet-api 3.1.0 runtime javax.servlet jstl 1.2 runtime org.hibernate hibernate-validator 5.2.2.Final org.slf4j slf.. 2020. 11. 11.
스프링 4 MVC - part 1 스프링 MVC의 등장 인물과 동작개요 #.DispatcherServlet - 프런트 컨트롤러 담당 - 모든 http요청을 받아들여 그 밖의 오브젝트 사이의 흐름을 제어 - 기본적으로 스프링 MVC의 DispatcherServlet 그대로 사용 #.HandlerMapping - 클라이언트의 요청을 바탕으로 어느 컨트롤러를 실행할지 결정 #.Model - 컨트롤러에서 뷰로 넘겨줄 오브젝트를 저장하기 위한 오브젝트. #.ViewResolver - View 이름을 바탕으로 View오브젝트를 결정 #.View - 뷰에 화면 표시 처리를 의뢰 #.비즈니스 로직 - 비즈니스 로직을 실행. #.컨트롤러 - 클라이언트 요청에 맞는 프레젠테이션 층의 애플리케이션 처리를 실행해야 함. #.뷰 / JSP - 클라이언트에 대해.. 2020. 11. 10.
스프링 4 비즈니스 로직 설계와 트랜잭션 트랜잭션이란? 트랜잭션은 관련된 여러 처리를 하나의 큰 처리로 취급할 경우의 단위이다. 트랜잭션의 경계 트랜잭션의 경계는 프레젠테이션 층과 비즈니스 로직 층 사이에 그어지는것이 일반적이다. 프레젠테이션 층에 공개된 서비스 클래스의 메서드가 트랜잭션의 시작과 종료라고 할 수 있다. 다시 말하면, 컨트롤러에서 서비스 클래스의 메서드가 호출되면 트랜잭션 시작, 서비스 클래스의 메서드를 마치고 컨트롤러로 되돌아 갈때가 트랜잭션의 종료이다. 트랜잭션 처리를 구현하는 장소 문제 트랜잭션 처리의 API(커밋, 롤백)는 데이터 액세스 기술(JDBC, 하이버네이트)에 따라 달라진다. 예를들어 JDBC를 이용했을 때, 트랜잭션의 커밋이나 롤백 같은 메서드는 java.sql.Connection에 있다. 따라서 비즈니스 로직.. 2020. 11. 9.
스프링 4 DAO 구현 데이터 엑세스 층의 주요역할은 데이터 액세스 처리를 비즈니스 로직층에서 분리하는 것이다. 비즈니스의 핵심 로직과 데이터에 액세스하는 로직이 함께 작성되어 있으면 나중에 유지보수하거나 수정할때 더 힘들어진다. 그래서 DAO 패턴을 사용한다. DAO 패턴은 데이터의 접근과 변경, 취득 등 데이터 액세스 처리를 DAO라고 하는 오브젝트로 분리해서 처리하는 패턴이다. 이렇게 하면 데이터 엑세스와 관련된 로직을 비즈니스 로직과 분리 할 수 있고, 데이터 액세스 방식이 변경되어도 비즈니스 로직에 영향을 주지 않는다. 자바의 데이터 엑세스 기술 자바가 데이터 엑세스 처리를 구현할때 사용하는 기술에는 여러가지가 존재한다. 예를들어 JDBC, 하이버 네이트, MyBatis, JPA등 다양한 데이터 엑세스 기술이 존재한다.. 2020. 11. 8.
스프링 4 AOP 스프링 AOP란 업무의 본질적인 로직 부분만 해당 클래스안에 적고, 나머지 본질적이지 않은 처리는 외부로 꺼내어 정리하는 기술이다. 예를 들면, 로그처리나 예외 처리등 공통으로 할 수 있는 처리를 Aspect라는 하나의 단위로 모아서 어떤 오브젝트가 원래 해야 할 일만 할 수 있게 하는 기술이다. aop 용어 애스펙트 횡단 관심사의 동작과 그 횡단 관심사를 적용하는 소스 코드상의 포인트를 모은것.(동작과 동작을 적용하는 조건) 조인포인트 어드바이스가 실행하는 동작을 끼워넣을 수 있을때를 말한다. 어드바이스 조인 포인트에 실행되는 코드.(출력로그, 트랜잭션 로직 등) 포인트컷 포인트컷은 조인포인트와 어드바이스의 중간에 있으면서 처리가 조인 포인트에 이르렀을 때 어드바이스를 호출할지 선별한다.(조건) 어드바.. 2020. 11. 8.
스프링 4 Bean Config DI 컨테이너의 핵심 DI 컨테이너의 핵심은 BeanFactory 이다. BeanFactory는 실행시 건네지는 Bean 정의 파일(applicationContext.xml)을 바탕으로 인스턴스를 생성하고 인스턴스의 인젝션을 처리한다. DI컨테이너로 부터 인스턴스를 얻는다는 말은 BeanFactory로부터 인스턴스를 얻는다는 것이다. Bean 정의 파일은 xml 파일에 기술하는 것이 일반적이다. 이전포스팅에서 @Autowired , @Component의 두 어노테이션으로 구현한것을 파일로 바꿔쓴다면, ProductServiceImpl 클래스와 ProductDaoImpl 클래스에서 어노테이션이 사라지고 ProductServiceImpl클래스에만 인젝션을 위한 setter 메소드가 필요해진다. 아래 예제에서.. 2020. 11. 7.