Study/Web

스프링vs 스프링 부트(Spring & Spring Boot)

의미없는 시간은 없다. 2022. 7. 8. 21:31

백엔드 개발자라면 스프링을 

스프링과 스프링 부트의차이가 무엇인지 궁금했고 검색한 결과를 정리하려고 한다.

 

먼저 스프링이란?

-간단하게 설명하면 자바언어 기반으로 만들어진 웹프레임워크이다.

특징으로는

1.Ioc(Inversion of control,제어 반전)

-간단하게 객체의 생명주기관리를 개발자가 아닌 컨테이너가 대신 해준다.

2. DI(Dependency Injection, 의존성 주입)

- 프로그래밍에서 구성요소 간의 의존관계가 소스코드 내부가 아닌 외부의 설정파일을 통해 정의 하는 방식

3. AOP(Aspect Object Programming, 관점 지향 프로그래밍)

자세한 내용은 나중에 추가로 첨부하겠다..

------------------------------------------------------------------------------------------------------------------------

그럼 스프링 Boot란?

스프링 부트 공식문서 첫문장인데 보다싶이 간단하다는걸 강조하고 싶다는 것 같습니다.

Spring Boot makes it easy 쉽게만든다

to create stand-alone, 단독적인

production-grade 상용화 수준의

Spring based Applications 스프링기반의 어플리케이션

that you can "just run". 실행만 하면된다.

 

가장 큰차이는 dependency라고 생각하는데 스프링부트는 버전관리도 권장버전으로 자동설정하고 spring-boot-starter들을 넣으면 자동으로 설정해주고 거기에 Gradle을 사용 하면 더 짧아진다.

configuration도 엄청 길었는데, boot는 따로 작성하지않고 application.prooerties를 설정해주면 끝이다.(요즘은 application.yml도 쓴다. 아래 사진에서 보이는것처럼 .properties는 그냥 나열이고 yml은 댑스로 표현하기때문에 좀더 직관적이다. )

스프링 thymeleaf

 스프링 부트 thymeleaf 간단하게 한줄로 해결!

implementation'org.springframework.boot:spring-boot-starter-thymeleaf'

-서버(ex:tomcat)가 내장서버로 되어있기때문에 구동시간이 짧다

만약 tomcat이 싫으면 간단하게 변경 가능

 

짧게 요약하면

1. 설정이 간편하다.

2. 의존성관리가 편리하고 자동 권장 버전관리를 한다.

3. 내장 서버로 인한 간단한 배포 서버 구축이 가능하다.

4. 스프링Security, Data JPA등의 다른 스프링 프레임워크 요소를 쉽게 사용 가능하다.

캡쳐자료와 내용은 유튜브 우아한Tech에서 10분 테코톡 내용에서 가져왔습니다.(출처)

반응형

'Study > Web' 카테고리의 다른 글

[IntelliJ]Cause: invalid source release: 11  (0) 2022.08.02
REST API란?  (0) 2022.07.09
HTML 태그 모음  (0) 2022.06.19
VS Code에서 Javascript 실행  (0) 2022.06.06