반응형
스프링(Spring)이란?
- 스프링은 Java 기반의 엔터프라이즈 애플리케이션 개발을 위한 오픈소스 프레임워크입니다. 이는 특히 IoC(Inversion of Control, 제어의 역전) 및 DI(Dependency Injection, 의존성 주입) 같은 개념을 통해 복잡한 환경에서 개발자가 비즈니스 로직에 더 집중할 수 있도록 설계되었습니다.
Java 개발을 쉽게 하는 방법
- 스프링은 애노테이션 기반 구성과 다양한 스타터 키트를 제공하여, 반복적이고 복잡한 코드 작성을 줄여줍니다. 이를 통해 개발자는 기업이 제공하는 서비스에 필요한 핵심 비지니스 로직에 더 집중할 수 있게 됩니다.
스프링 & 스프링 부트에서의 오픈소스
- 스프링은 오픈소스 프레임워크로서, 누구나 자유롭게 사용, 수정 및 배포할 수 있습니다. 이는 다양한 사용자와 개발자의 참여를 통해 지속적으로 개선되며, 스프링 소스라는 기업에서 관리되어 안정성도 보장됩니다.
스프링의 경량급 의미
- 스프링은 수십 개의 모듈과 방대한 코드로 구성되어 있음에도 불구하고, 경량급으로 분류됩니다. 이는 EJB와 같은 이전 기술에 비해 상대적으로 개발자가 작성해야 할 코드가 간결하고 단순하기 때문입니다.
프레임워크란?
- 프레임워크는 특정 목적을 달성하기 위해 미리 준비된 코드의 뼈대입니다. 애플리케이션 프레임워크는 애플리케이션 개발에 필요한 다양한 기능과 코드의 구조를 제공합니다.
스프링의 주요 요소들
POJO 프로그래밍 지향
- POJO(Plain Old Java Object)는 순수한 자바만을 사용하여 만든 객체를 의미합니다. 이는 특정 기술이나 환경에 종속되지 않아 변화와 확장에 유연하게 대응할 수 있으며, 객체 지향 설계를 자유롭게 적용할 수 있습니다.
필요한 기술
- IoC/DI: 객체 생성과 관리를 프레임워크가 담당하여 개발자의 부담을 줄입니다.
- AOP(Aspect Oriented Programming): 애플리케이션의 공통 관심사항을 핵심 로직에서 분리하여 관리합니다.
- PSA(Portable Service Abstraction): 다양한 서비스를 일관된 방식으로 추상화하여 사용합니다.
스프링 부트(Spring Boot)
- 스프링 부트는 스프링 기반 애플리케이션의 구성을 간소화하는 도구입니다. 자체적으로 내장된
- 웹 서버를 통해 독립적으로 실행 가능한 애플리케이션을 빠르게 개발하고 배포할 수 있습니다.
실행 조건
- JDK 설치, 환경 변수 설정 및 IntelliJ와 같은 IDE의 설치가 필요합니다. 스프링 부트의 버전 관리와 Maven/Gradle 같은 빌드 도구의 사용도 중요합니다.
버전 관리
- SNAPSHOT: 개발 중인 버전.
- Milestone: 개발은 완료되었으나 기능 개선 중인 버전.
- Release Candidate: 기능 개선 및 버그 수정이 완료된 상태로 최종 릴리즈 전 버전.
- Artifact: 빌드 결과물의 이름.
- Packaging: 프로젝트 압축 방법.
스프링 부트를 통해 생성한 프로젝트의 내장 WAS를 실행하는 것은 DemoApplication 클래스의 main() 메서드를 통해 이루어집니다.
반응형