250x250
Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 힙덤프
- dfs
- scanner
- Calendar
- CSS
- sql
- Java
- 스택
- 리소스모니터링
- Properties
- string
- priority_queue
- 스프링부트
- html
- deque
- union_find
- List
- map
- javascript
- 큐
- JPA
- BFS
- NIO
- set
- GC로그수집
- spring boot
- Union-find
- math
- alter
- date
Archives
- Today
- Total
매일 조금씩
Java EE 란? Spring framework 와 경쟁? 상호 보완? 본문
728x90
반응형
Java EE와 Spring Framework는 엔터프라이즈 애플리케이션을 개발하기 위한 플랫폼으로 공통의 목표를 가지고 있지만,
설계 철학, 기능 제공 방식, 유연성 등의 측면에서 차이가 있다.
Spring framework는 2003년 첫 등장 시,
Java EE 표준과 싸운는 것처럼 보여 어그로를 상당히 끌었지만,
실제론 JEE 스팩을 구현(+알파)한 모음체이다.
Spring을 사용하는 것이 좋은 어노테이션들:
// Spring
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Repository;
import org.springframework.context.annotation.Configuration;
- Spring의 기능을 더 풍부하게 사용할 수 있음
- Spring 생태계의 다른 기능들과 통합이 더 자연스러움
Jakarta EE를 사용하는 것이 좋은 어노테이션들:
// Jakarta EE
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Column;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
- JPA, Bean Validation 등 표준 스펙 관련 어노테이션들
- 프레임워크 독립성이 중요한 도메인 레이어
일반적인 원칙:
- 도메인 엔티티나 표준 스펙 관련 -> Jakarta EE
- 스프링의 기능을 활용하는 부분 -> Spring
- 프레임워크 전환 가능성이 있는 부분 -> Jakarta EE
[요약]
특징 | Java EE | Spring Framework |
철학 | Java 표준 기반, 표준화와 상호 운용성 중시 | 유연성과 경량화 중시, 특정 애플리케이션 서버에 종속되지 않음 |
의존성 주입(DI) | CDI, 서버에 의존적인 DI 관리 | IoC 컨테이너를 통한 DI 관리, 유연한 설정 제공 |
데이터 접근 | JPA, 표준 ORM | Spring Data JPA, JPA 기능을 간편하게 사용 |
트랜잭션 관리 | JTA, 글로벌 트랜잭션 관리 | Spring 트랜잭션 관리, @Transactional 사용 |
웹 계층 | Servlet, JSP, JSF | Spring MVC, RESTful API 지원 |
보안 | Java EE Security, 기본 인증 제공 | Spring Security, 세밀한 보안 설정 및 OAuth 지원 |
실행 환경 | Java EE 애플리케이션 서버(WildFly, WebLogic 등) | 독립 실행 가능 (내장 서버), 클라우드 및 컨테이너 환경에 적합 |
[결론]
Java EE는 Java 표준에 맞춘 엔터프라이즈 애플리케이션 개발 환경을 제공하며,
표준화와 상호 운용성에 중점을 둔다.
애플리케이션 서버와 긴밀이 결합되어 복잡한 엔터프라이즈 환경에서의 일관성을 보장한다.
Spring Framework는 유연하고 경량화된 방식으로 개발자 생산성을 높이며,
서버에 종속되지 않고 다양한 환경에서 실행할 수 있다.
엔터프라이즈 애플리케이션을 구축하는 데 필요한 기능을 제공하되, Java EE 보다 설정과 구성이 단순하고 사용하기 쉽다.
728x90
반응형
'Java' 카테고리의 다른 글
Java 개념 정리 (1) - Java 기본, 객체 지향 (0) | 2025.01.09 |
---|---|
Servlet 이란? Spring 에선 어떻게 사용하고 구현되는지? (0) | 2024.11.03 |
유틸리티 클래스 사용 시 주의 사항 "Add a private constructor to hide the implicit public one" (0) | 2024.10.26 |
익명 클래스와 람다식의 차이 (0) | 2022.02.14 |
Thread와 synchronized (0) | 2022.02.14 |