[Spring]
스프링 프레임워크
4버전 : xml 파일
5버전 : java 파일
SpringMVC 중심개발 학습
Spring(Legacy) vs Spring boot
Spring(Legacy) : 초반 설정해야하는 파일의 수가 많음(복잡함)
모든 버전의 스프링 사용가능
기존의 프로젝트 구조 이해를 위한 방식(사용빈도 높음)
다양한 자료(구글링 쉽다)
but 초반 설정이 어렵다 (1회)
WAS(tomcat)를 사용해야함(리소스 많이필요)
> 공공기관 관련 프로젝트
Spring Boot : 별도의 설정이 필요없음(간편함)
WAS가 필요없음(자체서버) => 로딩시간이 짧음
버전의 호환성이 우수함(알아서 해당버전을 호환)
기존의 방식과 다른방식
JSP 설정방식 문제
> 서비스
* Spring Framework
Framework란? 어떤 대상을 구성하는 구조, 뼈대
=> 소프트웨어적 개념 : 어떤 기능을 미리 클래스/인터페이스 형태로 구현해놓은 틀
(어느정도 완성되어 있는 기능/프로젝트)
- 경량프레임워크 / 자바 오픈소스 프레임워크
=> 서버중심 개발(확장성,유지보수) => 클라이언트 중심 개발(생산성, 안정성)
프로젝트 전체구조 설계하기 쉬움
다른 프레임워크와 연동
개발의 생산성증가, 개발도구(테스트)
특징
- POJO(plain old java object) 기반의 구성
- 의존성 주입(DI)을 통한 객체간의 관계 구성
- AOP(관점지향프로그래밍) 지원
- 편리한 MVC 구조
- 제어의 역행(IoC) 기술을 통한 느슨한 결합제어
- 영속성관련 다양한 기술지원
* 강한결합 - 약한결합
서로 관련있는 기능은 강한결합-관련이 없을경우 약한 결합으로 구성
* 제어의 역행
> 객체/메서드의 호출을 개발자가 결정 x, 외부에서 결정(부품끼워넣기)
>의존성 주입 : 의존적인 객체를 직접 생성, 제어 x , 제어의 역행을 사용하여 객체에 필요한 정보를 외부에서 선택(결정)해서 사용 1) 생성자 주입 2) setter 주입
AOP : 관점지향 프로그래밍
=> 개발자가 주요 로직(비지니스로직)에 집중할 수 있도록 해준다
영속성 : db관련 동작들
spring framework의 주요 기능
spring core : 다른 기능들과 설정을 분리하기위한 ioc기능을 제공
spring context : 스프링기본기능, 애플리케이션 각 기능을 수행하는 객체에
spring DAO : JDBC기능을 조금더 편리하게 제공
Spring ORM :
Spring AOP
Spring Web
Spring MVC
Maven(빌드도구) : 프로젝트에 필요한 라이브러리(의존적인 라이브러리)를 자동으로 관리해주는 도구
스프링 다운로드
https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3
GitHub - spring-attic/toolsuite-distribution: the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite
the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - GitHub - spring-attic/toolsuite-distribution: the distribution build for the Spring Tool Suite and the Groovy/Gra...
github.com
Spring Tool Suite 3.9.12 의 full distribution on Eclipse 4.14를 다운로드한다
sts-bundle > sts-3.9.12.RELEASE > sts.exe 바탕화면에 바로가기 만들기 > 실행!!
워크스페이스 선택
새로운 dynamic web project 를생성한다
next> next> 체크박스 체크 finish > Open perspective
jsp 모드로 바뀜!!
기본세팅하기
window > preference
general - workspace - text encoding UTF -8
web - html, css, jsp UTF - 8
java - compiler 11버전인지 확인
javaResources > New > Class 생성
프로젝트 > xml 파일생성
beans태그를 사용하기 위해서 아래 코드를 추가해준다
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
새프로젝트 Spring Legacy Project 생성
porm.xml 수정
<java-version>1.8</java-version>
<org.springframework-version>4.3.8.RELEASE</org.springframework-version>
버전 수정
HomeController 실행
주소줄 web 뒤에 다 삭제