본문 바로가기
Spring

[Spring] 스프링 프레임워크의 장점

by 행운의나무 2021. 3. 9.
728x90
반응형

스프링 프레임워크

"""자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. -위키백과"""

EJB가 지닌 단점들을 비판하며 스프링 프레임워크가 인기가 많아지게 되었습니다.
EJB란? => 내용보러가기

 

[EJB] 엔터프라이즈 자바빈즈

EJB란? Enterprise Java Bean 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션 주로 JSP는 화면처리, EJB는 업무 로직 처리합니다. 서버를 관리하고 문제를 처리함으로써 효율성을 증대를 목

twer.tistory.com

스프링 프레임워크가 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를 구현할 수 있습니다.

 

쿠팡에 가기 클릭

 

제주 삼다수

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

반응형