SPRING
Spring Framework는 자바 플랫폼을 위한 오픈 소스 프레임워크로, 복잡한 애플리케이션 개발을 간편하고 생산성을 높이는 데 중점을 둔다. 2003년에 처음 출시된 이후, Spring은 자바 개발 커뮤니티에서 널리 사용되며, 기업 애플리케이션 개발의 표준으로 자리잡았다.
스프링은 무료로 사용이 가능하며, 소스 코드가 공개되어 있어 누구나 수정하거나 개선할 수 있다. 하지만, 스프링의 발전과 유지보수는 스프링소스(SpringSource)라는 IT 기업이 담당하고 있어 안정성이 보장된다. 스프링은 많은 기능을 제공하면서도 상대적으로 적은 코드로 복잡한 문제를 해결할 수 있게 해준다. 기존의 EJB 같은 기술들보다 단순하고 유연하다. 애플리케이션 개발에 필요한 다양한 기능들을 미리 준비된 코드 형태로 제공하여 개발자들이 빠르게 애플리케이션을 구축할 수 있도록 도와준다.
POJO 프로그래밍 지향
POJO(Plain Old Java Object)
순수 Java 객체를 사용하여 비즈니스 로직을 구현하도록 권장한다.
외부 라이브러리나 모듈에 의존하지 않아 코드가 간결하다.
IoC (Inversion of Control) / DI (Dependency Injection)
- IoC (제어의 역전): 객체 생성과 의존 관계를 스프링 컨테이너가 관리하여 개발자가 직접 객체를 생성하고 관리하지 않아도 된다.
- DI (의존성 주입): 객체의 의존성을 외부에서 주입받아, 코드의 결합도를 낮춘다.
AOP (Aspect Oriented Programming)
공통 관심 사항(로깅, 보안 등)을 핵심 비즈니스 로직과 분리하여 코드 중복을 방지하고, 유지보수를 쉽게 한다.
관심사의 분리로 공통 기능을 모듈화하고 재사용성을 높였다.
PSA (Portable Service Abstraction)
다양한 데이터베이스와 외부 시스템에 대한 일관된 접근 방법을 제공하여, 기술적인 종속성을 줄였다. 데이터베이스나 외부 서비스의 변경에 간편하게 대응할 수 있다.
SPRING BOOT
스프링 부트는 스프링 프레임워크를 기반으로 하여 애플리케이션 개발을 더욱 간편하게 해주는 프레임워크이다.
스프링 부트는 스프링 애플리케이션의 초기 설정을 자동화하고, 복잡한 XML 설정이나 코드 구성을 최소화했다.
Spring Initializr을 사용해 기본적인 프로젝트 구조와 필요한 라이브러리를 쉽게 설정할 수 있으며, 독립 실행이 가능한 Jar 파일로 빌드하여 Tomcat 같은 웹 서버를 내장하고 있어 외부 웹 서버를 설치할 필요가 없다 (War 형식의 외장 톰캣도 지원하긴 한다)
'CS > SPRING' 카테고리의 다른 글
JPA 기본키 매핑 (0) | 2024.08.12 |
---|---|
데이터베이스 스키마 자동 생성 (0) | 2024.08.12 |
JPA 필드와 컬럼 매핑 (0) | 2024.08.12 |
JPQL과 SQL의 차이점 (0) | 2024.08.12 |
JPA의 영속성 컨텍스트 (0) | 2024.08.12 |