Spring01_환경설정

1 minute read



Spring

1. Service와 Controller분리하는 이유

  • uri가 생성되면 그에 맞는 Servlet과 Service가 필요하게 된다.
  • 이러면 uri개수만큼 Servlet이 필요하게 되어 Servlet이 무수히 많아짐
  • 그래서 Controller에게 서비스를 넘긴다.
  • DB접근을 DAO나 서비스로 넘기고, 데이터를 가지고 분석하거나 하는 것은 컨트롤러가 하도록 한다.
  • 프로젝트 규모가 클 수록 반드시 둘을 분리하는게 좋다.

2. 환경세팅

  1. spring-workspace폴더 생성
  2. Eclipse 실행
  3. charset 설정( workspace , html, css, jsp )
  4. https://maven.apache.org/ 접속 후 Download -> Binary zip archive의 apache-maven-3.8.1-bin.zip 설치
  5. 환경변수 설정
    • JAVA_HOME : jdk위치 - C:\Program Files\Java\jdk1.8.0_221
    • M2_HOME : zip파일 푼 위치 - D:\2021_java_db\bin\apache-maven-3.8.1
    • Path : %JAVA_HOME%\bin , %M2_HOME%\bin 두개 추가
  6. cmd창에서 버전확인 mvn -version
  7. 버전관리를 위한 maven-repository 폴더 생성 ( apache-maven-3.8.1-bin.zip 이랑 같은위치에 했음 )
  8. eclipse에서 preferences -> Maven -> User Settings
    • User Settings에 settings.xml경로(apache-maven-3.8.1-bin.zip풀면 conf/settings.xml파일 있는 곳) 설정후 Open file
    • Source 눌러서 55줄에
    • D:/2021_java_db/maven-repository

      추가( maven-repository경로 )

3. Maven프로젝트 생성

  • Maven Project는 인터넷이 안되는 환경에서 개발할 수 없음!
    1. Maven Project
    • Create Simple project 체크 2. 세팅
    • Group Id : 패키지명 ( kr.ac.kopo )
    • Artifact Id : 프로젝트명 ( Lecture-Spring )
    • packaging
      • jar : 콘솔모드
      • war : 웹
        1. Finish누르면 오른쪽 하단에 초록색으로 뭔가 다운받는게 보임
    • (maven-repository들어가보면 파일이 생성되어있음 )

3. Maven프로젝트 디렉토리 설명

  • main/java : .java파일이 생성되는 곳
  • main/resource : 환경설정을 하기 위한 파일
  • src/test/,,, : 개발자가 테스트하기 위한 폴더

  • src폴더와 위의 4개폴더는 같은 것!
  • pom.xml : project를 위한 환경설정파일

  • 만약 갑자기 오류생길때 경로문제일 가능성이 가장 크다. maven-repository(버전관리용 폴더) 삭제하면 알아서 재 다운로드받아서 해결됨.

4. pom.xml

  • 라이브러리 파일을 dependency 태그로 받아옴.
    1. https://mvnrepository.com/ 접속
    2. spring-context검색 첫번째꺼 클릭
    3. 5.2.16.RELEASE - RELEASE버전 가져오기( 5버전부터 어노테이션으로 모두 바뀜 )
    4. Maven 눌러서 xml코드 복사
    5. pom.xml로 돌아와서 <dependencies>태그 생성 후 그 안에 Maven 코드 붙여넣기
    6. 완료되면 Maven Dependencies 폴더가 생김
    • D:\2021_java_db\maven-repository\org\springframework\spring-context 경로에도 생긴거 보임

5. Spring MVC

  • Spring MVC를 하기위해서는 DI문법과 AOP기술을 알아야함
    • DI : 객체 주입 기술
    • AOP : 코드 주입 기술