Spring Framework
- 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.
- 애플리케이션의 구조를 단순화하고 유지보수성을 높이며, 자바 개발자들이 더 효율적으로 개발할 수 있도록 도와준다.
- Spring 1.0 ~ 6.0 까지 출시되었다.
- 현재 3.XX ~ 5.XX 까지 주로 사용한다. 수업에서는 5.XX로 진행한다.
- 콘솔 프로젝트, 응용 프로젝트, 웹 응용 프로젝트에서 사용하지만, 협업에서는 웹 응용 프로젝트 제작에 사용한다.
- Servlet/JSP 를 개량하여 버전 업 되었다고 생각하면 된다.
- 전자 정부 표준 프레임워크로 채택되었다. 자바진영에서 근무할 때 가장 보편화된 환경이다.
Framework의 특징
Spring 은 세팅이 이미 완료되어 있는 반제품 형태이다. 틀이 이미 잡혀져 있어 틀을 이해하기가 쉽지않다.
시스템을 잘 만들었기에 초반 적용을 잘하면 후반에는 작업이 쉬워진다.
스프링 코어과 추가 프로젝트(확장팩)들을 스프링이라고 한다.
가장 중심이 Spring, 프로젝트로 Spring MVC, Spring AOP, Spring Data, Spring Security 등이 있다.
우리가 알고 있는 Spring Boot도 프로젝트 중 하나이다.
스프링 프로젝트 구성 요소(주요 기술)
1. POJO 기반
- Plain Old Java Object의 약자.
- Java로 생성하는 순수한 객체를 뜻한다.
- 평범한 class를 기반으로 스프링이라는 기술을 구축할 수 있도록 환경을 만들어 놓았다.
- 제한적인 환경보다는 프리한 환경에서 작업하므로 가볍고, 자유롭게 생산성을 높일 수 있다.
2. 의존성 주입 지원(DI) ★★★
아래에서 따로 설명
3. 관점 지향 프로그래밍 지원(AOP) ★★★
아래에서 따로 설명
4. Spring MVC
- 스프링으로 웹사이트를 만드는 기술
5. Tiles : 레이아웃 지원
6. DB 연동 지원
- JDBC, Spring JDBC, ORM(JPA), MyBatis 등 사용 가능하다.
- 국내에는 MyBatis가 점유율 70%를 차지하며, 해외에는 ORM이 70%를 차지하고 있다.
Maven(메이븐)
- 빌드 도구, 라이브러리 관리 도구 등 여러가지 역할을 한다.
- 프로젝트를 생성하거나 유지관리를 하거나 혹은 배포를 도와주는 집사같은 프로그램이다.
- 수업에서는 라이브러리 관리용(jar)으로 사용한다.
- 라이브러리 관리 : jar 파일을 다운로드, 참조, 관리하는 역할을 대신한다.
- pom.xml 파일에 프로젝트의 메타데이터와 빌드 설정을 기술하며, Maven은 이 파일을 기반으로 프로젝트를 빌드한다.
- pom.xml 파일 속을 dependencies 태그내에서 선언한다.
jstl.jar 참조
dependency 태그 안에 groupId, artifactId, version을 같이 기재하면 자동으로 프로젝트가 jstl.jar를 참조한다.
경로 확인
C:\Users\user\.m2\repository
jar 파일 우측 경로를 따라 폴더를 확인하면 수 많은 jar 파일을 확인할 수 있다. maven이 수많은 jar 파일들을 관리하는데 우리가 정의하는 pom.xml에 따라 프로젝트에 jar 파일을 참조한다.
lombok.jar 참조
Maven 의 Dependency 로 추가하기
1. lombok 버전 확인하기
2. mvnrepository 접속 및 lombok 검색
3. 위에서 확인한 버전에 맞춰 조회
4. Maven 복사
5. pom.xml에 추가
pom.xml 파일을 저장하면 lombok.jar 파일이 추가된 것을 볼 수 있다.
스프링 버전 및 JDK 버전 설정★
Spring MVC Project 를 생성하였는데 기본 설정으로는 스프링 3.xx, JDK 1.6으로 되어있다.
이 설정을 스프링 5.0.7.RELEASE , JDK 11로 재설정해준다.
매번 프로젝트를 생성할 때마다 설정해줘야한다.
1. pom.xml
[파일 상단]
java-version : 11 수정
org.springframeword-version : 5.0.7.RELEASE
[파일 하단]
source : 11
target : 11
2. Properties
프로젝트 우 클릭 - Properties
Project Facets
Dynamic Web Module : 3.1
Java : 11
위에서 설정한 대로 버전이 변경되었다.
'Spring' 카테고리의 다른 글
[Spring] @Controller 기초 및 데이터 송수신하기 (0) | 2023.11.25 |
---|---|
[Spring] 스프링 프로젝트 설정 일괄 적용 (0) | 2023.11.24 |
[Spring] Spring AOP 기초 및 예제 (0) | 2023.11.23 |
[Spring] Spring DI(의존 주입) 예제 및 xml로 의존관계 형성하기 (0) | 2023.11.22 |
[Spring] Spring Tool Suite (STS3) 사용법 (0) | 2023.11.21 |