- Spring Boot란?2024년 01월 04일 17시 00분 51초에 업로드 된 글입니다.작성자: do_hyuk
1. spring boot 란?
스프링 부트는 단독적이고, 상용화 수준의 스프링 기반 어플리케이션을 단지 실행할 수 있을 정도로
쉽게 만들 수 있다.
- 기존 스프링 프레임워크 위에 구축되었다.
- 스프링 부트를 사용하면 독립실행형과 프로덕션 등급 스프링 기반 어플리케이션을 쉽게 만들 수 있다.
- 설정의 많은 부분을 자동화하여 사용자가 편하게 스프링을 활용할 수 있도록 도와준다.
2. spring과 spring boot의 차이
spring framework의 경우, dependency를 설정해 줄 때 설정 파일이 매우 길고, 모든 dependency에 대해
버전 관리도 하나하나 해주어야 한다.
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.5</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.5</version> </dependency>
하지만 spring boot의 경우에는 dependency를 spring framework보다 쉽게 설정해 줄 수 있으며,
버전 관리도 자동으로 해준다.
implementation 'org.springframework.boot:spring-boot-starter-web'
더해서, test 프레임워크를 사용하고자 하는 경우 spring framework의 경우에는 spring test, JUnit, Hamcrest, Mockito 등
모든 라이브러리를 추가해줘야 하지만, spring boot에서는 spring boot starter test만 추가해주면 된다.
spring framework의 경우 configuration을 설정할 때도 매우 길고, 모든 어노테이션 및 빈 등록을 설정해 주어야 한다.
하지만 spring boot에서는 applicationproperties 파일이나 application.yml파일에 설정하면 된다.
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf
spring framework와 달리 spring boot에는 autoconfiguration이라는 것이 있다.
spring boot로 실행할 수 있는 어플리케이션을 만들기 시작하면, 클래스에 @SpringBootAplication이라는 어노테이션을
확인할 수 있다. 이를 통해 많은 외부 라이브러리, 내장 톰캣 서버 등이 실행될 수 있다.
- 만일 제거하고 실행할 경우, 일반적인 자바 프로그램과 동일하게 실행된다.
- 어노테이션 : 주석, 추후 특정 어노테이션을 처리하는 컴파일러가 어노테이션을 읽으면 알맞게 처리를 진행한다.
기능이 포함된 것이 아니다. 프로그램 곳곳에 분산된 기능을 한 곳에 모아 처리하고 싶을 때 사용한다.
- @CompenentScan
@Component, @Controller, @Repository, @Service라는 어노테이션이 붙어있는 객체들을 스캔하여
자동으로 Bean에 등록해준다. - @EnableAutoConfiguration
@ComponentScan 이후 사전에 정의한 라이브러리들을 Bean에 등록해준다.
이러한 장점들을 통해 spring boot framework는 spring framework보다 개발자가 더더욱 개발에만 집중할 수 있도록 도와줌
요약하자면 spring boot는 표준 spring framework의 모든 기능을 포함하는 동시에 어플리케이션 개발을 훨씬 쉽게
만들어주는 프레임워크이다. spring과 비교할 때 모든 spring boot의 속성이 자동 구성되기 때문에 훨씬 더 짧은 시간에
어플리케이션을시작하고 실행할 수 있다.
'Spring' 카테고리의 다른 글
Spring JPA란? (1) 2024.01.09 Spring Cache란? (1) 2024.01.07 Spring 이란? (0) 2024.01.03 [Spring Boot] Spring Security & OAuth2.0 사용 - 소셜 로그인 기능 구현하기1 (0) 2023.11.08 [Spring] Spring Security 기본 개념(JWT / OAuth 2.0 / 동작방식 / 구성요소) (0) 2023.11.06 댓글