가희의자기개발블로그

Spring Framework 본문

백엔드/Spring

Spring Framework

가희gahui 2020. 7. 8. 16:18
반응형

JAVA ENTERPRISE APPLICATION 개발에 사용되는 자바플랫폼을 위한 오픈소스 어플리케이션 프레임워크이다.

 

스프링을 쓰다보면 안에서 내부에서 해주는 일이 많다. 

스프링과 비슷하게 나온게 Jango이다. 

1_특징

- 자바 객체를 담고 있는 경량 컨테이너이다

         객체의 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로 부터 필요한 객체를 얻어올 수 있다.(Spring에서는 new하고 객체를 생성할 일이 거의 없다. Spring이 알아서 생성해준다. )

 

- POJO(Plain Old Java Object) 기반의 개발

         POJO란 누구에게도 상속 받지않고 implements도 하지 않는 순수한 클래스 형태

 

- 제어 반전(IoC - Inversion of Control)을 지원

         컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자 코드를 호출할 수 있다

 

- 의존성 주입 DI(Dependency Injection)을 지원

         설정파일을 통해서 객체간의 의존 관계를 설정할 수 있다

ex) Constructor Injection, Setter Injection

 

- AOP(Aspect Oriented Programming, 관점지향) 지원

       중복을 제거하라 - OOP를 없애라는게 아니라 보안하라는 의미

 

- 트랜잭션 처리를 위한 방법을 제공 (commit(), close()를 지원)

 

- 영속성과 관련되 다양한 서비스를 제공

          myBatis, hibernate등 데이터 베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.

 

- 동적인 웹 사이트 개발하기 위한 여러가지 서비스를 제공

         우리나라에서는 공공기관의 웹 서비스 개발시 사용을 권장하는 전자정부 표준프레임워크의 기반 기술로 사용되고 있다.

 

- MVC Framework를 제공

          callback메소드도 제공해준다. 

 

-Spring을 웹프로그램이라고 생각하는데 사실은 Server용이다. 그 안에  웹이 끼어들어간것!

2_스프링 설치

 

Java                           편집기

JDK(jqk 1.8.241)           EditPlus, Eclipse 등등

 

DB(Oracle)                 cmd, sqldeveloper, toad

 

Spring                      eclipse, STS

2_1)

Spring 3.0을 다운 받는다. Spring 4.0은 스프링부트만 제공해주기때문에 3.0을 다운 받아 준다.

https://spring.io

 

Spring makes Java simple.

Level up your Java code and explore what Spring can do for you.

spring.io

 

2_2)

5.2다운 (현업에서는 3후반에서 4대를 사용한다.)

spring-5.2.0.RELEASE-dist.zip을 다운 

 

https://maven.springframework.org/release/org/springframework/spring

 

 

Index of release/org/springframework/spring

 

maven.springframework.org

 

 

Index of release/org/springframework/spring

 

maven.springframework.org

http://dist.springsource.com/release/STS/index.html

 

http://dist.springsource.com/release/STS/index.html

Spring Tool Suite 3.9.12 3.9.12.RELEASE (Mrz 12, 2020) Spring Tool Suite 3.9.11 3.9.11.RELEASE (Dez 16, 2019) Spring Tool Suite 3.9.10 3.9.10.RELEASE (Sep 19, 2019) Spring Tool Suite 3.9.9 3.9.9.RELEASE (Jun 18, 2019) Spring Tool Suite 3.9.8 3.9.8.RELEASE

dist.springsource.com

2_3) 

commons-logging-1.2-bin.zip를 다운 받는다.

 

http://commons.apache.org/logging/download_logging.cgi

 

http://commons.apache.org/logging/download_logging.cgi

 

commons.apache.org

 

기존에는 공식사이트에서 zip 압축파일을 받아 jar를 구했는데 지금 사이트에서 Maven, Gradle로 라이브러리를 받게 끔 하고 있다.

 

2_스프링 설치

1. spring-framework-5.1.0.RELEASE-dist.zip 다운로드

2. 압축풀기

 

3_스프링 편집기

스프링 개발도구로 크게 두가지가 있다. 하나는 STS, 다른 하나는 Eclipse에서 plugin 해서 사용하는 방법 

1. STS(Spring Tool Suite) 다운받아서 설치

2. Eclipse에서 Help Eclipse Marketplace STS 검색 → Spring Tools 3 다운로드(내가 다운받은 버전에 맞춰 다운받으면 된다. )

 

Eclipse실행시 Spring -simple java Project로 열어준다. 

 

※Eclipse와 STS 모두 MS949로 잡혀 있다. 이걸 UTF-8로 바꿔줘야 한다. 

STS의 Server- Runtime Environment에 켜저있는 VMwart를 지워준다.

 

4_ 스프링 기능

 

- 인터페이스 베이스 설계와 스프링을 활용함으로써 소스 파일은 변경하지 않고 스프링 설정 파일만 변경해서 다양한 객체를 생성하는, 변경이 유연한 어플리케이션을 작성할 수 있게 되었다

 

- 스프링을 사용하는 이유는 "필요한 인스턴스를 스프링에서 미리 생성해 준다" 라는 장점을 얻을 수 있다.

 

- 스프링은 자주 변경이 되거나 컴포넌트의 재활용이 높은 유연한 어플리케이션을 작성할 수 있게 하며 테스트도 쉽다.

 

- 스프링은 프레임워크지만 스트럿츠처럼 웹 어플리케이션 전용의 프레임워크와는 다른 특징이 있다

 

- 스프링은 '어플리케이션 프레임워크'로 불린다

콘솔 어플리케이션나 스윙과 같은 GUI 어플리케이션등 어떤 어플리케이션에도 적용 가능한 프레임워크이다.

 

- 스프링은 EJB와 같이 복잡한 순서를 거치지 않아도 간단하게 이용할 수 있기 때문에 "경량 컨테이너" 라고 부른다.

 

- 스프링은 Dependency Injection(DI)Aspect Oriented Programming(AOP)을 가장 중점적인 기술로 사용하지만 여러가지 기능도 제공하고 있다.

 

- 스프링은 크게 나눠 7개 모듈로 구성되어 있으며, 필요에 따라 이들을 서로 조합하여 사용할 수 있다

- Spring Core

- Spring AOP

- Spring ORM

- Spring DAO(Data acess ~)

- Spring Web

- Spring Context

- Spring Web MVC

반응형

'백엔드 > Spring' 카테고리의 다른 글

스프링 MVC  (0) 2020.07.16
스프링과 JDBC  (0) 2020.07.15
스프링 AOP -관점지향 프로그램  (0) 2020.07.14
DI(Dependency Injection)  (0) 2020.07.10
eclipse -STS설치후 안켜지는 오류  (0) 2020.07.08
Comments