SPRING

SPRING 1109

Vanillwa 2023. 11. 10. 14:09

 

Spring 프레임 워크
개발에 필요한 기능들을 미리 갖고 있는 기본적인 틀

EJB라는  유료 프레임워크가 기존에 존재했지만

Spring이 EJB의 90%이상의 기능을 구현하며 오픈소스로 공개되어 
무료로 사용가능한 Spring을 사용하기 시작함

전자정부 프레임워크
Spring을 정부의 입맛에 맞게 개조한 프레임워크

 


스프링의 특징

의존성 주입 (dependency injection : DI)
각각의 계층이나 서비스들간에 의존성이 존재할 경우 프레임워크가 서로 연결해준다


관심지향 프로그래밍 (Aspect Oriented Programming : AOP)
트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 분리해서 관리 가능


MVC 패턴 지원


JDBC, JPA등 DB연동 지원

 

경량 컨테이너
각각의 객체의 생성, 소멸과 같은 라이프 사이클을 관리하고 스프링으로부터 필요한 객체를 얻어올 수 있다.

 

제어 역행 (Inversion of Control : IoC)
어플리케이션의 느슨한 결함을 도모
컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출한다

 



빌드 툴
Maven vs Gradle

Maven
자바용 프로젝트 관리 도구 / Apache사에서 만든 빌드 툴
pom.xml파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해준다.

필요한 라이브러리를 pom.xml에 정의 해두면 사용할 라이브러리이외에도 

작동을 위한 라이브러리까지 네트워크를 통해 자동으로 다운을 해준다.

빌드
프로젝트를 위해 작성한 java코드나 여러 자원들(xml jar properties)을 jvm이나 톰캣 같은 was가 인식할 수 있는
구조로 패키징 하는 과정 및 결과물

Maven의 특징
빌드 과정을 쉽게 만든다
정형화된 빌드 시스템 제공
maven은 pom과 플러그인을 세트로 사용하여 빌드한다
양질의 프로젝트 정보 제공

장점
편리한 의존성 라이브러리
정해진 빌드 방법을 사용하기때문에 협업에 유리
다양한 플러그인을 통해 많은 작업이 자동화 된다

Project Object Model : POM
프로젝트의 다양한 정보를 처리하기위한 객체 모델
프로젝트 관리 및 빌드에 필요한 환경 설정, 의존성 관리등의 정보를 기술한다

 


 

STS3 다운로드 :

https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3

 

Spring Tool Suite 3

the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - spring-attic/toolsuite-distribution

github.com

 

 

톰캣 9 다운로드 :

https://tomcat.apache.org/download-90.cgi

 

Apache Tomcat® - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org