[Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개
스프링 프레임워크(Spring framework) 특징
1. 컨테이너(Container) | 스프링 코어
Spring 컨테이너 또는 스프링 코어 위에 올라온 Java 객체들을 관리함.
Spring 컨테이너는 Java 객체의 Life Cycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있음.
2. DI (Dependency Injection) 지원
Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있음.
3. AOP (Aspect Oriented Programming) 지원
Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에서 분리해서 적용할 수 있음
4. POJO (Plain Old Java Object) 지원
Spring 컨테이너에 저장되는 Java 객체는 특정한 인터페이스를 구현하거나, 특정 클래스를 상속받지 않아도 됨
5. 트랜잭션(Transaction) 처리를 위한 일관된 방법을 지원
JDBC, JTA 등 어떤 트랜잭션을 사용하던 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용 가능
6. 영속성(Persistence)과 관련된 다양한 API 지원
Spring은 MyBatis, Hibernate 등 데이터베이스 처리를 위한 ORM(Object Relational Mapping) 프레임워크들과의 연동을 지원
※ 스프링은 오픈소스 경량형 엔터프라이즈급 프레임워크이고, 자바 서비스 개발에서의 사실상 표준 프레임워크이다.
스프링 부트(Spring Boot)
스프링 부트는 차세대 스프링 프레임워크.
스프링 부트는 그 자체로 완전한 프레임워크는 아니다. 스프링 부트를 사용해 웹 애플리케이션을 개발할 때는 스프링 MVC 프레임워크를 사용한다. 스프링 부트는 스프링 MVC와 스프링 배치 등의 다양한 프레임워크를 조합해 신속하고 간단하게 애플리케이션을 개발할 수 있다.
스프링 부트 특징
- 스프링 기반 Production-ready 어플리케이션 개발 : 바로 개발하여도 부족하거나 과하지 않다.
- Convention over Configuration을 따름 : 전통의 방식 Best Practice를 따른다.
- 톰캣이 내장되어 단독으로 실행 가능
- 설정을 최대한 줄이고 XML 설정파일 필요없음, JAVA로 설정을 작성함.
- 메인 애플리케이션 클래스 : 자바 명령으로 내장된 톰캣을 실행한다.
스프링 부트 프로젝트를 처음 열고 main 메서드가 존재하는 메인 애플리케이션 클래스를 보면 다음과 같다.
main 메서드가 프로젝트가 시작되는 지점이라고 보면 된다.
클래스 위에 보이는 @springBootApplication 어노테이션은 @Configuration, @ComponentScan, @EnableAutoConfiguration 어노테이션을 지정한 것과 동일하다.
스프링의 특징과 스프링 부트의 특징을 알아보았습니다. 도움이 되었다면 좋아요 꾹! 광고 꾹! 해주시면 감사하겠습니다! 좋은 하루 보내세요!^^
'java, spring' 카테고리의 다른 글
[Spring Boot] REST API, CRUD 설계 (0) | 2022.03.05 |
---|---|
[Spring Boot] Spring MVC로 RESTful API 서비스 구현 (0) | 2022.03.04 |
[Spring Boot] 프로젝트 및 Controller 생성 (0) | 2022.02.25 |
JAVA 시작하기, 자바 개발 도구 설치하기(feat. JDK 설치) (0) | 2022.01.22 |
JAVA 오류: 기본 클래스 ..을(를) 찾거나 로드할 수 없습니다. [해 (2) | 2022.01.18 |