티스토리 뷰

JAVA/Spring

Spring 과 Spring Boot

chan20 2020. 8. 11. 11:47

일단 Spring과 이번에 Spring Boot 배워서 한 번 비교를 해볼 것이다.

Spring Boot ? Spring ?

이전 Spring 에서는 Maven, web.xml, Spring 설정 xml 등 초기세팅들이 많이 필요하다. 그래서 복잡한 느낌이 있는데 또 각 버전마다 서로 호환되는 것들을 써야되는데 기존에 있던 사람들은 재사용하면 되지만 처음 사용하는 사람은 버전을 셋팅 했을때 되는지 안되는지 확인을 해야하며.. 생각만 해도 매우 번거롭다 

그래서 Spring Boot가 나왔는데 Spring Boot는 미리 설정되어 있는 Spring 기반 프로젝트 템플릿이며 버전 같은 경우에도 자동으로 관리 해주며 그래서 직접 관리가 딱히 필요 없고 써보니 미리 되어있으니 좀 편하다고 느꼇다.

Spring

Spring 은 경량의 개발 프레임워크라고 하지만 경량은 아닌 것 같고 개발을 좀 더 편하게 할 수 있는 개발 프레임워크 인 것같다.

Presentation layer / Business layer / Persistence layer 각 Layer들을 개발 해야된다.                              (Spring MVC)  (AOP, IoC Contaniner) (ORM, JDBC, DAO Template)

Spring의 특징이 POJO 기반의 어플리케이션이라고 하는데 

POJO는 GET , SET으로 이루어진 순수한 자바 객체를 말하는데 다른 인터페이스나 외부 환경에 종속되지않고 실행이 가능한 자바 객체라 할 수 있다. (Javabeans 의미)

 

 

 IoC (제어의 역전), DI

제어의 역전이란 것이 개발자가 관리를 하지 않고, 스플링에서 제어를 해주며 내부의 의존성을 낮출 수 있다.

"@Autowired를 안쓰고 자바로 new쓰면 안되나?"

 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념 객체지향의 장점을 공부할때 코드의 모듈화를 통한 재사용이 가능하다.

 그런데 여기저기에 의존을 너무 하다보니 객체지향언어의 장점인 재사용이 힘들어진다 여기저기에 의존을 하다보니 원래 사용하던 객체를 다른객체로 바꾸는것도 너무나큰 부담이 든다.

그래서 그런 의존성들을 역전하기위해 IOC를 도입하게된거고 의존성 주입을 프레임워크가 해줌으로서 자바를 좀 더 객체지향에 어울린다 볼수 있다.

 

Spring Boot 도 하나의 Spring이다  그래서 그런지 Spring 얘기가 많아 진것 같다.

'JAVA > Spring' 카테고리의 다른 글

HTTP 와 HTTPS 알아보기  (0) 2020.08.17
Spring MVC  (0) 2020.08.12
Spring 기본적인 Annotation 및 Web.xml  (0) 2020.08.11
REST란?  (0) 2020.08.10
Open API 란?  (0) 2020.08.10