Java

[Spring] Spring이란 무엇인가?

kimslab01 2024. 7. 2. 17:38

 

 

 

 

 

 

 

안녕하세요

자바 공부 1일차입니다 :)

 

 

 


 

 

 

 

오늘은 자바와 떼놓을 수 없는 스프링이 무엇인지 배워보도록 하겠습니다!

 

 

 

 

 


 

 

 

 

Spring이란?

 

스프링은 자바 기반의 애플리케이션 프레임워크입니다.

 

이클립스 기반의 IDE인 Spring Tools를 제공 중이며,

VS code 버전으로도 제공하고 있습니다.

 

 

 

 

Spring의 특징

 

1. POJO 방식: 특정 인터페이스를 직접 구현하거나 상속받을 필요 없이

기존 라이브러리를 지원하기에 용이하고, 객체가 가벼움

 

2. 관점 지향 프로그래밍: 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리할 수 있다.

 

3. 의존성 주입: 프로그래밍에서 구성요소 간의 의존 관계가 소스코드 내부가 아닌

외부에서 설정을 통해 정의되는 방식

 

4. 제어 역전: 외부 라이브러리 코드가 개발자의 코드를 호출하기 하여

스프링 프레임워크가 사용자의 코드를 호출하는 방식

 

5. Bean 생명주기 관리: 스프링 프레임워크는 Bean이라는 이름으로

프레임워크에서 사용되는 자바 객체의 생성과 소멸을 직접 관리

 

 

 

장점

 

프레임워크이기 때문에, 개발자의 수준과 실력에 상관없이

일정 수준의 품질을 기대할 수 있음

담당자 혹은 개발자가 중간에 바뀌어도 유지보수에 대한 리스크를 줄일 수 있음

 

 

 

단점

 

많은 기능을 제공하고 탑재하고 있으므로 그만큼 무거움

기능을 익히기 위해 많은 시간과 노력이 필요함

 

 

 

Spring Boot와의 차이점

 

스프링 부트는 스프링 프레임워크를 기반으로 한 도구입니다.

스프링은 설정 파일을 작성해야 하지만, 스프링 부트는 자동 설정을 제공하여 편리합니다.

스프링 부트는 내장 서버를 제공하여 쉽게 실행할 수 있습니다.

스프링은 세밀하고 천천히 개발하는 경우에, 스프링 부트는 빠르고 간단하게 개발할 때 사용됩니다.

 

 

 

 


 

 

 

 

간단하게 Spring에 대해 알아보았는데요!

스프링 굉장히 편리해보이네요 ㅎㅎ

여러분도 스프링 공부하셔서 개발해보시는 거 어떨까요?