92일차 Spring 환경설정1

쿠우·2022년 8월 10일
0

-2022-06버젼의 이클립스에 Spring tool 설치

(나머지버젼은 그냥 마켓에서 tool받아서 사용해도 잘된다.)

  • How to install Spring MVC plugin on the Eclipse Enterprise 2022-06

Step 1. Install Lombok Agent using "https://projectlombok.org/p2"
Step 2. Setting Global Preferences : Windows > Preferences
Step 3. Install Atlassian Connector plugin using "http://update.atlassian.com/atlassian-eclipse-plugin/rest/e3.7"
- Again remove Atlassian Connector plugin (***)
+ Mylyn Task List (3.25.2.v20200814-0512)
+ Mylyn Commons - 3.25.2.v20200813-0821
+ Mylyn Commons Connector: Discovery - 3.25.2.v20200813-0821
+ Mylyn Commons Connector: Monitor - 3.25.2.v20200813-0821
+ Mylyn Commons Identity - 1.17.2.v20200813-0821
+ Mylyn Commons Notifications - 1.17.2.v20200813-0821
+ Mylyn Commons Respositories - 1.17.2.v20200813-0821

Step 4. Install Spring Tool 3 Standalone Edition Plugin
After that, Search by word spring in the eclipse market client (**)

Step 5. Eclipse Marketplace client => Update Spring Tool 3 Add On Update


-이클립스 Spring project 생성 및 설정

  • Spring MVC Project 생성 및 설정 순서 *

1. New Project > Spring > Spring Legacy Project 선택

  • Template : Spring MVC Project 선택
  • Project 이름 입력
  • Top-level package 입력 : org.zerock.myapp (배우시는 동안은 이것으로 통일합니다.)
  • 새로운 Maven 기반의 Spring MVC Project 생성됨

2. Spring MVC Project 생성 후, 설정 순서

(1) Maven Pom.xml 파일 편집

  - 특히, 스프링 기반 개발을 위해 추가된 아래 2개의 dependencies에 대해 숙지할것
     1. AspectJ : 클래스파일의 바이트 코드 조작 언어
     2. Spring  : 스프링MVC 개발을 위한 최소한의 2개 sub framework 의존성 설정:
              spring-context, spring-webmvc

(2) Update Maven Project 수행

(3) Maven 의 기본 4개(2개는 main, 2개는 test) 소스폴더 구성확인

(4) lombok의 @Log4j2 가 사용하는 log4j2 로그 라이브러리의 설정파일 생성(log4j2.xml)

  - src/main/resources/ 폴더에만 저장
  - src/test/resources/ 폴더에는 저장안함(main쪽 로그설정파일이 대신 적용됨)
  

(5) src/main/webapp/WEB-INF/web.xml 설정파일 설정

  - 특히 기본 2.5 버전의 top-level tag를, version 4.0 이상으로 변경해줘야 함
  

(6) src/main/webapp/WEB-INF/spring/root-context.xml
src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml

  • 위 2개 파일이 스프링의 설정파일임 (당장 설정할 것은 없음)

3. 위 2까지 마친후에, 마지막으로, Update Maven Project 수행(with force option)

  • 오류(x배지)가 모두 사라졌는지 확인할 것!

4. 프로젝트 설정: Servlet/JSP할 때 배운것처럼, Apache Tomcat9 에 배포될 수 있게 설정할 것!

5. Hello World 가 웹브라우저에 나타나는지 확인

  • 마지막 확인으로 이 프로젝트를 Run As > Run On Server 수행

-Spring 설정에 중요한 xml 설정파일들

(1) log4j2.xml

이 로그 설정파일에서 핵심은, 개발자가 로그를 보고 싶은 라이브러리의 "패키지"를 지정해서
새로운 Logger를 등록하는 것

예:
스프링 프레임워크에서 남기는 info 레벨의 로그를 보자!!!

(2) web.xml

=> **** (Servlet, listener) (DD, 배포설명자)
가. Spring Container 를 생성하는 Listener 가 자동등록 (설정파일: root-context.xml 사용됨)
나. Front Controller(모든요청을 집중해서 받는) 패턴으로 구현된 DispatcherServlet 등록되어있음(설정파일: servlet-context.xml)

(3) pom.xml

=> **** (주로 dependency)

 핵심: 스프링 등을 비롯한 반드시 필요한 라이브러리에 대한 의존성 설정(dependency)
        (스프링 기반으로 웹어플리케이션 생성시 반드시 필요한 2가지 라이브러리는,
        1)  `spring-context` (Spring Container 생성에 필요)

2) spring-webmvc (Spring MVC 패턴을 강제하는데 필요)
위의 2개가 스프링의 필수 라이브러리
-finalname 태그로 context root를 설정한다.

(4)(5) 스프링MVC의 설정파일 2개

==> web.xml 에 이미 등록

(4). root-context.xml
=> Spring Container 생성역할하는 ContextLoaderListener의 설정파일

(5). servlet-context.xml(DispatcherServlet = MVC패턴을 강제한다. )
=> Spring MVC 를 강제하는, Front Controller역할을 수행하는 DispatcherServlet의 설정파일
= 스프링 MVC패턴에 맞게 구동되도록 활성화해주는 태그
= get방식으로 요청받은 html 이나 css 등 정적인문서에 대해 처리하기위해 어디에서 찾을지 경로를 지정하는 태그

  • Static Documents (정적인 문서) : 아무리 매번 요청해서 받아도, 그 내용이 변함이 없는(정적이다!표현을 쓰는
    것임) 파일들을 지칭 (예: 각 종 이미지파일, .css, .js, .html, ....) => 이런 파일들은 모두 webapp/resources/
    에서 저장 및 서비스 한다!!! (/ = webapp으로 시작을 의미 )

(6)mybatis-config.xml
-지난시간 익혔던 mybatis 설정파일


-JUnit

  • TDD - Test-Driven Development

-메이븐에서 설정해준대로 생성된다. (Dployment Aessembly)

  • WAR - Web Archieve (동일한 압축파일) => XXXX.war
  • JAR - Java Archieve (동일한 압축파일) => XXXX.jar
    어떻게 패키징해줄지
profile
일단 흐자

0개의 댓글