Spring

211105(금) Spring 1일차 - 특징 / 모듈 / 다운로드(로깅추가로) / 스프링 수업 순서 / 프로젝트 만들기(jar)

구름이팡팡 2021. 11. 5. 14:05
728x90

<Spring Framework 특징>

=> 자바의 개발을 쉽게하도록 도와주는 것!

 

cf) 마이바티스도 프레임워크... => 프레임워크: 탈 것! 목적 분명!!

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

 

[특징]

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

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

cf) new 를 안한다 => 스프링이 알아서 해준다?!

 

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

=> 상속을 안받는다는 이야기

 

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

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

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

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

- AOP(Aspect Oriented Programming) 지원

- 트랜잭션 처리를 위한 방법을 제공

 

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

=>ORM

 

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

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

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

- MVC Framework를 제공

- 대형 프로젝트 

 

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

큰 회사에서 이용! 작은 회사는 이용 안함

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

 

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

 

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

cf) 스트럿츠는 이제 사라짐 쓰면 도태된 회사

 

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

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

cf) 자바의 콘솔 , 스윙, 웹 등 다 가능 => 웹에 국한되지 않았다!

 

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

 

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

cf) 객체지향프로그램

- OOP
- DI: 결합도 낮추기 (부모=자식, 다형성)
- AOP: 중복 없애기 (중복을 막으려고 모든 코드를 함수 단위로 분리) => 스프링의 관점지향프로그램 AOP(보완개념)
=> AOP 는 실제로 쓰진 않는데 엄청 중요해서...??!! 힘든 부분이다 어려운 부분!!!

 

cf) AOP: 관점 지향 프로그래밍 => 중복되는 코드를 다 빼버린다, 코드의 중복성을 배제

cf) 파이썬 장고가 스프링이랑 비슷


<스프링 모듈>

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

- Spring Core

- Spring AOP

- Spring ORM

- Spring DAO

- Spring Web

- Spring Context

- Spring Web MVC


<다운로드 추가로(로깅 - 기록남겨야 해서)>

 

 

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

스프링 파일에 압축 푼다!

 

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

 

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

2. 압축풀기

 

스프링 편집기

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

2. Eclipse에서 Help Eclipse Marketplace STS 검색


<스프링 수업 순서>

 


<STS 프로젝트 만들기>

죽은거 산거

doc 도큐먼트파일은 필요없고 jar만 있으면 된다!

- 메이븐을 하면 각자 사물함을 갖어서??? 자르파일이 필요 없어 진다

원래는 Spring Maven 해야되는데 죽어버렸음 -> 심플 로 똑같이 만든다!!

 

[실습]

Project : chapter01_SpringMaven (Spring Legacy Project Simple Java)

우클릭 - Configure - Convert to Maven Project

이걸 붙여 넣어 준다!
그럼 이렇게 생긴다!

728x90