2020년 01월 29일

업데이트:

Spring Framework란?

자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단하게 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있으며 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)의 기반 기술로서 쓰이고 있다.



Spring Framework의 특징

  1. IOC(Inversion of control) 제어 반전

    컨트롤의 제어권을 프레임워크가 가지고 있다는 뜻으로, 객체의 생성부터 모든 생명주기의 관리까지 프레임워크가 주도하고 있다.
    객체를 생성하고, 직접 호출하는 프로그램이 아니라, 만들어둔 자원을 호출해서 사용한다.

  2. DI(Dependency Injection) 의존성 주입

    설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다.

  3. POJO 기반 프레임워크(Plain Old Java Object)

    특정 기술이나 라이브러리 없이 유용한 기능을 그대로 사용할 수 있고, 순수한 자바 객체를 사용하듯이 자바의 객체지향적 설계가 가능하다.
    코드가 간결해져 개발이 쉽고, 기존 Java API, 라이브러리 지원에 용이하다.

  4. Spring AOP (Aspect Oriented Programming) 관점 지향 프로그래밍

    트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리한다.

  5. Spring JDBC

    Mybatis나 Hibernate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스를 제공한다.

  6. Spring MVC

    MVC 디자인 패턴을 통해 웹 어플리케이션의 Model, View, Controller 사이의 의 존 관계를 DI 컨테이너에서 관리하여 개발자가 아닌 서버가 객체들을 관리하는 웹 애플리케이션을 구축 할 수 있다.

Spring 개발 환경 구축


문자 인코딩 설정

새로운 이클립스로 작업을 진행 할 경우 문자의 인코딩을 UTF-8로 변경해준다.

  • Window -> Preperences -> enco 검색 -> 전부 UTF-8로 변경해주기,
  • json -> jsonFiles -> UTF-8로 변경해주기,
  • General->Editors->TextEditors->Spelling ->UTF-8로 변경해주기.

인코딩1 인코딩2

이클립스와 톰캣 연결

Window -> Preperences -> Runtime Envorionments -> Add -> Apache Tomcat v8.5 선택 -> Browse -> 톰캣이 설치되어있는 폴더 선택 -> Finish
서버연결

서버 실행 단축키 설정 & 탭 키 사이즈 지정 & 글자수 지정

  • 서버 실행 단축키 설정 : Window -> Preperences -> keys -> run on server 검색 -> Binding = F10
  • 한 줄에 보여지는 글자 수 지정 : Window -> Preperences -> html검색 -> Editor -> line width :999
  • 탭 키 사이즈 지정 : Window -> Preperences ->general -> editors -> textEditors ->displayed tab width : 2
    설정1 탭키



Maven 다운로드

이클립스는 기본적으로 설치되어있으나 이클립스 내장 maven을 사용하면 아주 깊숙한 곳에 있는 폴더에 저장되기 때문에 따로 관리도 힘들고, 수정 삭제도 힘들다.
메이븐
👆🏼 이미지 클릭 시 공식 홈페이지로 이동

Download 클릭 -> Binary zip archive 다운로드(윈도우 환경 용) -> 관리하기 편한 폴더(한글X, 띄어쓰기X)에 저장 -> 압축 풀기 -> 압축을 푼 폴더 안에 라이브러리 관리 폴더(repository) 생성 -> repository폴더의 경로를 복사한다. 1 2 폴더생성 경로복사



conf폴더 -> setting파일 우클릭 -> 연결프로그램 -> VSCode -> localRepository 태그에 방금 복사한 repository폴더의 경로 붙여넣기. ` 경로 붙여넣기

이클립스와 메이븐 연동

preferences -> maven -> User Settings -> UserSettigs: Browse -> dev 폴더에 압축 푼 메이븐 폴더로 이동 -> conf-> settings.xml 선택
1



Spring 설치

Eclipse -> help > eclipse Marketplace -> sts3 검색 -> (Standalone Edition) Installed -> confirm -> agree -> Finish
마켓 sts3



sts 구성 설정 추가

  1. 이클립스 설치 폴더 -> eclipse.ini 를 메모장으로 옮겨 놓고, -vmargs 위에 -vm 추가 후 그 아래에 jdk.bin 경로 추가 + \javaw.exe 저장 후 이클립스 재 시작.
    eclipse ini 메모장

  2. 이클립스 -> New -> Spring 검색 -> Spring legacy Project 선택 -> 프로젝트 이름 지정, Spring MVC Project 선택 -> 최상위 3레벨 지정 -> Finish
    spring legacy 프로젝트이름지정 최상위3레벨

  3. pom.xml 파일 클릭 -> springframework버전 5.2.8.RELEASE로 변경 -> spectJ버전 1.9.4로 변경 -> slf4j 버전 1.7.25로 변경
    pom 버전

  4. https://mvnrepository.com/ 접속 -> gson 검색 -> 2.8.6버전 클릭 -> maven textarea 에있는것 클릭(복사) -> form.xml에 추가
    gson 검색 2 8 6 복사할내용 pom에 추가

  5. pom.xml -> dependency 태그의 groupId 가 javax.servlet 인 항목(Maven에서 제공하는 JSTL, 정상 적용이 되지 않음) 지우기.
    삭제

  6. build 태그 안의 groupId : org.apache.maven.plugins 의 버전, 소스 변경
    버전 2.5.1-> 3.1로 변경 / 소스,타겟 -> 1.8로 변경
    버전소스


서버 생성

  1. WEB-INF 에 lib 폴더 생성 -> jstl jar파일 lib폴더에 넣기 -> home.jsp에 태그 라이브러리 작성
    JSTL JAR 태그라이브러리

  2. 프로젝트 우클릭 -> properties -> project Facets ->다이나믹 웹 모듈 3.1로 변경 -> 자바 1.8로 변경 -> rumtimes에서 아파치 톰캣 8.5 체크
    3 1 아파치



댓글남기기