오늘은 Spring에 대해서 다뤄볼 것인데 , 언제 Spring을 다시 접할 기회가 생길 것 같아서
정리해 본다.
Spring 개발을 위한 준비
1. JDK 1.8 버전 설치 ( 2018년 현재 기준 JDK 10버전은 Tomcat연동에 문제가 완전히 해결되지 않았을 수 있으므로 권장 안한다)
2. STS(Eclipse)설치 및 프로젝트 생성
3. Tomcat 설치 및 연동
개발환경 설정
1. 스프링 개발에서 가장 많이 사용하는 통합 개발도구는 eclipse 기반으로 개발된 Spring Tool Suite(=STS)를 이용
2. STS를 다운받아서 사용하는 것이 편함
3. Eclipse에 스프링관련 플러그인을 추가해서 사용한다면 호환성 문제가 발생할 수 있다.
나는 Eclipse를 이용하여 플러그인 설치를 해서 사용해 보겠다.
먼저 , http://spring.io/tools3/sts/all <-- 이 사이트를 들어가준다.
들어가면 다음과 같은 곳을 복사해준다.
그리고 나서 eclipse를 들어가준다 .
Help à Install New Software 선택해준다.
Add 를 클릭해서 Name : STS / Location = 복사한 값을 넣어준다.
로딩시간이 조금 길 수 있다.
로딩이 되고 나면 , 모든 항목 선택하고 설치를 진행한다.
모든 항목이 설치되고 , 플러그인의 설치가 완료되면 eclipse 를 restart를 하게된다.
재시작 후 다음화면 처럼 open Perspective를 선택하면 Spring 항목이 생긴걸 볼 수 있다.
이제 스프링 프로젝트를 만들어 보자 .
File à New à Spring Legacy Project
다음 그림처럼 진행한다.
그러면 프로젝트가 만들어 졌을 것이다.
만들어 졌으면 pom.xml 파일을 수정해 주어야 한다.
아마 다음 그림처럼 org.springframework-version 이 3.1.1.RELEASE 로 되어 있을 것이다.
이 부분을 5.0.7로 바꿔준다.
그리고 Java version을 수정해 주어야 한다.
JavaSE-1.6 버전으로 되어있지만 , 스프링 5.x 버전은 JDK 1.8을 사용하는 것이 가장 좋다.
그리고 나서 , 프로젝트를 선택한 상태에서 Maven à Update Project 수행한다.
다음 그림처럼 Java 버전이 바뀐 것을 확인 할 수 있다.
이클립스와 스프링 플러그인 만으로도 스프링 개발이 가능하다.
Lombok을 이용하면 java 개발 시 자주 사용하는 getter/setter , toString() , 생성자 등을 자동으로 생성해 준다.
그렇기 때문에 , 약간의 코드만으로도 필요한 클래스를 설계할 때 유용하다.
https://projectlombok.org/ à Lombok 다운로드 링크이다.
다운받은 파일을 바로 실행하거나 , 명령 프롬프트 창에서 수행한다.
설치가 끝나면 , eclipse의 실행 경로에 Lombok.jar 파일이 추가된 것을 확인할 수 있다.
이제 java Configuration을 다뤄보겠다.
Eclipse를 통해 생성하는 Spring Legacy Project 경우 XML 기반으로 스프링 관련 설정을 하도록 되어있따.
우리는 다음 단계를 통한 작업을 할 것이다
1. Web.xml 및 스프링 관련 파일 삭제
2. Pom.xml의 수정 및 스프링 버전 변경
3. Java설정 관련 패키지 생성
첫 번째로 , XML 파일 삭제를 해주겠다.
다음을 보면 spring 폴더 내에 servlet-context.xml / root-context.xml 파일이 존재하는걸 볼 수 있다. 그렇기 때문에 우리는 한번에 spring 폴더를 삭제해 주겠다.
두 번째로 , pom.xml 수정을 해주겠다.
다음 화면처럼 <plugins> 내에 몇 줄의 코드를 넣어 준다.
@Configuration을 해보자.
Java 설정을 이용하는 경우 XML 대신 설정파일을 직접 작성한다
@Configuration 를 이용해서 해당 클래스의 인스턴스를 이용해서 설정 파일을 대신한다.
그렇다면 어떻게 작성하는 것일까??
프로젝트 내에 “org.zerock.config” 라는 폴더를 생성한다.
RootConfig 클래스를 작성한다.
Web.xml을 대신하는 클래스 작성
기존 프로젝트에서는 web.xml을 이용해서 스프링을 구동했다.
XML을 사용하지 않은 경우 이 역할을 대신할 클래스 작성한다.
이때 , AbstractAnnotationConfigDispatcherServletInitializer 추상화클래스를 상속받는다.
'학부공부 > 웹시스템설계및개발' 카테고리의 다른 글
필터(filter)란? (0) | 2018.10.29 |
---|---|
Command 패턴을 알아보자. (0) | 2018.10.29 |
MVC 패턴 기초. (0) | 2018.10.13 |
서블릿(Servlet) 기초. (0) | 2018.10.13 |
태그 파일의 variable 디렉티브와 name-given을 이용한 변수 추가 (0) | 2018.10.13 |
#IT #먹방 #전자기기 #일상
#개발 #일상