JSP

[Spring]

드르렁퓨 2022. 11. 21. 17:51

스프링 프레임워크

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.12full 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 뒤에 다 삭제