가희의자기개발블로그
Spring Framework 본문
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을 다운 받아 준다.
2_2)
5.2다운 (현업에서는 3후반에서 4대를 사용한다.)
spring-5.2.0.RELEASE-dist.zip을 다운
https://maven.springframework.org/release/org/springframework/spring
http://dist.springsource.com/release/STS/index.html
2_3)
commons-logging-1.2-bin.zip를 다운 받는다.
http://commons.apache.org/logging/download_logging.cgi
기존에는 공식사이트에서 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 |