Spring Framework

이전글에는 스프링 mvc 게시판을 만들기 위한 기본적인 셋팅을 다루었고, 오늘 글에서는 Controller부터 DB작업까지 어떻게 이루어지는지 만들어 보도록 하겠다. - 기본 패키지 아래에 controller, service, dao 패키지를 만들어 주었다. - 프로젝트 패키지의 구성은 아래처럼 나눌 수도 있고, 업무 단위로도 나눌 수 있다고 한다.(e.g 로그인, 쇼핑 등등) - 패키지를 만들었으면, service와 dao 패키지에 service와 dao Interface를 먼저 만들어주고, - 각 패키지에 각각의 interface를 구현한 class를 아래 그림과 같이 만들어 준다. - service 인터페이스 소스 - 처음 인터페이스를 만들면 텅텅 비어있기 때문에 아래와 같은 메서드를 작성해준다 p..
MVC 프로젝트 만들기 - [file] -> [New] -> [Spring Legacy Project] 클릭 - [project name]에는 생성하고자 하는 프로젝트의 이름을 입력 - [Templates] -> [Persistence] -> [Spring MVC Project] 클릭 - [Next] 클릭 - [Finish]를 클릭하면, MVC 프로젝트가 생성이 된다. - 아래 소스는 [Web.xml]인데, 톰켓이 실행이 되고 url 요청이 들어오면, 서블릿 매핑에 의해 그 요청을 처리하고, 첫 번째로는 [servlet-context.xml]을 로드하고, 두 번째로 [root-context.xml]을 로드하게 된다. contextConfigLocation /WEB-INF/spring/root-contex..
프로젝트 만들기(feat. IntelJ) - web만 의존성 체크 후 Next - [auto-import]를 체크해주지 않으면, gradel.duild가 변경되어도 자동으로 빌드가 안된다.(수동으로 빌드를 눌러야함!) 프로젝트 실행 셋팅 - 스프링 부트 플러그인 추가 Gradle - Wrapper : 스프링 부트 프로젝트를 생성하면, gradle-wrapper에 의해 해당 프로젝트에 gradle이 자동으로 설치됨 - gradle 멀티 프로젝트 구성 : 멀티 프로젝트를 구성하면, 코드의 재사용성이 높아지고 한 서비스에 관련된 여러 프로젝트를 마치 하나의 통합 프로젝트처럼 관리할 수 있다 - [setting.gradle]에 다음과 같이 루트 프로젝트를 추가 - 테스트로 사용할 demo-web 모듈 생성 - ..
- 스프링 부트는 스프링에 비해서 간단한 설정만으로 프로젝트를 빠르게 시작하는 것이 가능하다. - 보통 Web Application에서 스프링을 사용할 때는 Spring-Context에서 제공하는 DI 외에도 시큐리티,JDBC,MVC 등 의 다양한 모듈의 설정을 적용한 후 사용해야 하고, 이로 인해 초반에 설정 오류로 많은 시간을 허비하는 경우가 많다. - 기존에 스프링을 사용할 때는 dependency를 추가할 때도 library 버전을 명시해 줘야하지만, 스프링 부트는 설정을 위임하고, 버전 관리도 스프링 부트에 의해 관리된다. - spring-boot-dependencies 스프링 부트의 특징 - Embeded tomcat, jetty, UnderTow를 사용하여 독립 실행이 가능한 스프링 app ..
이번에는 @어노테이션으로 트랜잭션을 걸어보려고 한다. [context-datasource.xml]에 다음 소스와 같이 추가 어노테이션에 대한 설명 -> @transactional 설명 - readOnly의 기본값은 false - 스프링의 트랜잭션은 Service 계층에서 사용하는 것이 바람직! ​ [BoardServiceImp.java] package com.sts.hello.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annot..
트랜잭션이란? - 데이터베이스의 상태를 변화시키는 작업(select,insert,update,delete)의 단위 - 2개 이상의 쿼리를 하나의 커넥션으로 묶고, DB에 전송하고 이 과정에서 오류가 날 경우 모든 과정을 되돌림 - 하나 이상의 쿼리에서 동일한 Connection 객체를 유지하는 것 - DB와 JAVA언어가 데이터를 주고 받는 과정에서 원자성을 부여하는 작업 ​ 스프링에서의 트랜잭션이란? - 다이나믹 프록시와 AOP 기술을 통해 트랜잭션을 통제할 수 있음. ​ 스프링에서 트랜잭션을 설정하는 방법? 1. xml 2. @어노테이션 ​ 3. AOP에 의한 트랜잭션 선언 ​ 우선은 xml에서 트랜잭션을 설정하는 방법을 해보려고한다. [context-datasource.xml] 설정 - transa..
DispatcherServlet [WEB-INF] 디렉토리 아래 [web.xml] 이라는 톰켓 설정 파일에 들어가보면 다음과 같은 설정이 있는데, 스프링 프로젝트가 실행되면 가장 먼저 [web.xml]을 읽고 위에서부터 태그를 해석한다. contextConfigLocation /WEB-INF/spring/root-context.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 appServlet / 위 설정은 [web...
iron_jin
'Spring Framework' 카테고리의 글 목록 (4 Page)