본문 바로가기
지식공유/Spring Framwork

스프링 사전설정(Spring/Java/Framework/백엔드/웹개발/Backend)

by 시간기억자 2024. 8. 28.
반응형

스프링(Spring)

  • Framework
    → 뼈대, 골격, 구조
    → 개발에 있어 기본이 되는 뼈대나 구조를 제공함
        >> 코딩에 기본이 되는 구조
        >> 아키텍처
  • Framework에 기반해 애플리케이션을 개발하면 여러 애플리케이션이 비슷한 구조를 가지게 되므로 생산성이 향상될 뿐 아니라 관리하기도 쉬워진다.
  • framework는 Open-Close 원칙을 따른다.
  • 스프링부트는 스프링에서 web 프로그램 관련 부분만 따로 떼어낸거라고 생각하면 된다

 

Spring Framework의 특징

  • Anyframe을 구성하고 있는 자바 EE 기반의 오픈소스 프레임워크
  • 개발적인 측면 외에도 모든 자바 애플리케이션에서 단순성, 테스트 용이성, 느슨한 결합성의 측면에서 Spring의 이점을 얻을 수 있다

  1. 크기와 부하의 측면에서 경량이다.
  2. 제어 역행이라는 기술을 통해 애플리케이션의 느슨한 결합을 도모함
  3. 관점지향 프로그래밍을 위한 풍부한 지원을 함
  4. 애플리케이션 객체의 생명주기와 설정을 포함하고 관리한다는 점에서 일종이 Container라고 할 수 있음
  5. 간단한 컴포넌트로 복잡한 애플리케이션을 구성하고 설정할 수 있음
  • 다른 프로그램을 스프링에 접목시켜서 쓸 수 있다. → 화이트박스
  • 스프링에 mybatis를 연결해서 쓸거다.

 

스프링(Spring) - 사전설정

  • 스프링프로젝트 필요(이클립스에는 스프링 프로젝트 못만든다)
  • https://spring.io/
  • 스프링 프레임워크가 다 가지고 있다
  • Project >> Spring Framework

  • Spring 프레임워크를 이용하기 위한 툴

 

스프링 개발툴 다운로드

 

  • sts-bundle에 sts가 있다.
  • sts-bundle 폴더 > sts-3.9.18.RELEASE 폴더 > STS.exe 더블클릭으로 실행

  • STS가 만들어주는 프로그램이 JDK11 버전이 필요하다.






● Spring Tool 3 설치 - https://spring.io 사이트에서 압축 파일 다운로드 

  1. JDK 11 설치하여 사용되도록 환경 설정(path 환경변수 변경)

  2. STS 실행 후 환경 설정 

    => 글꼴 설정, HTML & CSS & JSP 파일의 캐릭터셋 변경, WAS 등록, 사용 웹브라우저 변경, Git 설정

  3. Spring Legacy Project 생성

    => 프로젝트 이름 입력 후 Template 프로젝트로 [Spring MVC Project] 선택하고 최상위 패키지 설정

    문제점) Template 프로젝트로 [Spring MVC Project]가 제공되지 않을 경우

    해결법) [workspace\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core] 폴더에

    https-content.xml 파일 붙여넣기

  4. 프로젝트 >> 오른쪽 버튼 >> Properties >> Project facets >> Dynamic Web Module 버전(5.0) 및 Java 버전(11) 변경

    => 테스트 : src/main/java >> 패키지 >> HelloController 실행(Ctrl+F11) >> URL 주소를 변경하여 요청

  5. 프로젝트의 [pom.xml] 파일을 변경하여 Maven Dependencies 라이브러리의 빌드 변경

 

  • JDK11 다운로드 및 설치
    → Spring Legacy Project는 JDK 11을 기반으로 하고 있기 때문에 JDK11을 설치해서 환경변수를 바꿔줘야 한다.
    → 만약 Spring Boot 프로젝트를 할 경우에는 JDK17을 기반으로 하고 있기 때문에 JDK17을 사용하면 된다.

https://www.oracle.com/kr/java/technologies/downloads/

스크롤 내리다보면 중간에 있음

 

  • 내PC 우클릭 > 속성 > 시스템 > 정보 > 고급시스템정보 > 환경변수 > JAVA_HOME 더블클릭 > 
  • 기존 설치한 17을 11로 변경
  • 되는지 확인 : cmd >> java-version 으로 확인

 

  • STS 환경설정
    → 글꼴 및 크기 설정

    → UTF-8 설정

    → HTML, CSS, JSP 캐릭터셋 변경
  • WAS 등록


  • 자바스크립트 tern 설치


    설치 후 에러뜨는 부분이 있으면 다시 설치하는데 update 관련 항목 체크 해제하기
  • Git 설치(깃 레파지토리는 그대로 하고 로컬레파지토리만 변경)



  • Spring Legacy Project 생성
    → 처음에는 템플릿이 없다
    문제점) Template 프로젝트로 [Spring MVC Project]가 제공되지 않을 경우
  • 해결법) [workspace\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core] 폴더에 https-content.xml(강사님 제공) 파일 붙여넣기
    (문서 → workspace-sts-3.9.18.RELEASE 폴더 → .metadata 폴더 → .plugins 폴더 → org.springsource.ide.eclipse.commons.content.core 폴더 안에 → https-content.xml 파일 붙여넣기)

  • C:\Users\itwill\Documents\workspace-sts-3.9.18.RELEASE\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core


 

이름 쓰고 next 누르면 또 에러발생함

  • 문제점) Spring MVC Project 생성시 [invalid thread access] 에러 발생
  • 해결법) [workspace\.metadata\.sts\content\org.springframework.templates.mvc-3.2.2]에 강사님 제공 파일(org.springframework.templates.mvc-3.2.2 폴더 내에 파일 3개) 붙여넣기
    (template.xml  //  template.zip  //  wizard.json)

  • Spring에서는 프로젝트명보다 Top-Level Package가 중요함

  • 프로젝트 >> 오른쪽 버튼 >> Properties >> Project facets >> Dynamic Web Module 버전(5.0) 및 Java 버전(11) 변경
  •  
  • 빌드처리된 라이브러리들이 제대로 작동하는지 확인하는 방법
    src/main/java 폴더 >> xyz.itwill.spring 패키지 >> HomeController.java 들어가서 F11 눌러서 실행시켜보기
  • 만약 오류나서 안되면 Project facets >> Dynamic Web Module 버전을 5.0에서 4.0으로 변경


  • ㄴㅇ
  • 한글 깨지는 부분에 대해서는 home.jsp 에 pageEncoding 추가

 

  • 지금은 로그구현체가 로깅을 못한다. 경로에 한글이 포함되어있다.

홈컨트롤러에서 실행했는데, 클래스를 찾을수 없습니다 라는 에러가 떨어지면 프로젝트 우클릭에서 Properties 들어가서 Deployment Assembly에 Maven Dependencies가 있는지 확인



이렇게 라이브러리는 있는데 실행 안되면 maven 라이브러리를 아래와 같이 추가해야한다.

반응형

댓글