java, spring

[Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개

isaac.kim 2022. 3. 3.
728x90
반응형

[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 어노테이션을 지정한 것과 동일하다.

 

 


스프링의 특징과 스프링 부트의 특징을 알아보았습니다. 도움이 되었다면 좋아요 꾹! 광고 꾹! 해주시면 감사하겠습니다! 좋은 하루 보내세요!^^

728x90
반응형