728x90
반응형
스프링 프레임워크
"""자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. -위키백과"""
EJB가 지닌 단점들을 비판하며 스프링 프레임워크가 인기가 많아지게 되었습니다.
EJB란? => 내용보러가기
스프링 프레임워크가 EJB에 비해 갖는 장점
1. 단순화된 단위 테스팅
- 의존성 주입으로 단위 테스팅을 단순화 시켰습니다.
- 단위테스트를 단순화 하면? => 생산성 향상. 결함이 일찍 발견됨. 지속적인 통합 빌드에서 자동화된 단위테스트 가능합니다.
2. 복잡한 코드 감소
- DB Connect, Exception, Transaction, Logging 등의 복잡한 코드를 줄였습니다.
- Prepared Statement와 스프링을 이용한 Query 실행 비교 예
//Prepared Statement 이용
PreparedStatement st = null;
try{
st = conn.prepareStatement(INSERT_TODO_QUERY);
st.setString(1, bean.getDescription());
st.setBoolean(2, bean.isDone());
st.execute();
} catch (SQLException e){
logger.error("Failed : " + INSERT_TODO_QUERY, e);
} finally {
if (st ! = null){
try {
st.close();
} catch (SQLException e){
//Pass
}
}
}
//Spring 이용 => 매우 간단히 해결
jdbcTemplate.update(INSERT_TODO_QUERY, bean.getDescription(), bean.isDone());
-
스프링 프레임워크가 코드를 줄일 수 있는 원리
-
JDBC(Java Database Connectivity)는 checked 예외를 대부분 unchecked로 변환하여 컴파일 시점에서의 예외를 없앨 수 있습니다.
-
중앙 집중식 AOP를 이용하여 예외를 관리합니다.
-
Checked, Unchecked 간단히 정리한 표
구분 Checked Exception Unchecked Exception 확인 시점 컴파일 시점 런타임 시점 처리 여부 반드시 예외처리 필요 명시적으로 하지 않아도 됨 트랜잭션 처리 예외 발생 시 rollback 하지 않음 예외 발생시 rollback 필요 종류 IOException, CalssNotFoundException 등 NullPointerException, ClassCastException 등
-
3. 아키텍처의 유연성
- 스프링 프레임워크는 모듈식으로 독립적인 구성을 가지고 있습니다.
- 웹 데이터에서 스프링 MVC 프레임 워크를 제공합니다.
- Spring Beans로 비즈니스 로직을 위한 경량 구현체를 제공합니다.
- 데이터 레이어에서 JDBC 모듈을 이용하여 JPA, Hibernate등과 연결이 가능합니다.
- AOP활용으로 Logging, Transaction, Security를 구현할 수 있습니다.
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
반응형
'Spring' 카테고리의 다른 글
[Spring Interceptor] 커스텀 어노테이션과 Intercepter 구현 (0) | 2021.08.27 |
---|---|
[Spring] Filter, Interceptor, AOP (0) | 2021.08.09 |
[Spring Filter] Filter Logging (0) | 2021.08.09 |
[Spring] 스프링 모듈 (0) | 2021.03.09 |
[EJB] 엔터프라이즈 자바빈즈 (0) | 2021.03.09 |