Back-End/그 외

[Spring] Version 별 특징

HMHA 2023. 6. 26. 11:08
300x250
반응형
300x250

1. Spring 2.x

  • XML 네임스페이스와 AspectJ를 지원한다

2. Spring 3.x

  • 프레임워크 코드베이스 전반에 걸쳐 강력한 Java 5+ 기반과 Java 기반 @Configuration모델과 같은 기능을 도입한다
  • Bean을 XML 형태로 관리할 수 있다
  • RestTemplate을 지원한다
  • JavaConfig 프로젝트의 몇몇 핵심 기능을 스프링 프레임워크에 추가했다
    이 말은 다음 어노테이션을 이제 어노테이션을 이용해 DI 를 지원한다는 것이다 
    • @Configuration
    • @Bean
      어노테이션을 지원한다
  • HSQL, H2, Derby 같은 내장 자바 데이터베이스 엔진을 편리하게 지원한다

 

3. Spring 4.x

  • Java 8 기능을 완전히 지원하는 최초의 버전이다
    • Spring의 콜백 인터페이스 로 람다 표현식 메소드 참조를 사용할 수 있다
  • Groovy DSL을 이용하여 외부 빈 설정을 정의할 수 있다
    • XML 빈 정의를 사용하는 것과 개념적으로 유사하지만 보다 간결한 구문을 허용한다
  • @Autowire 주석을 생성자에 적용할 수 있다 (Spring 3.x 에서는 setter 주입을 권장했었다)
    • Bean 의존성 주입 방법 3가지 : 생성자, 필드, setter
    • 단일 생성자의 경우 묵시적 자동 주입이 가능 (@Autuwired 어노테이션을 사용하지 않아도 된다, Spring 4.3~)
  • Spring MVC 애플리케이션과 함께  @RestController주석 을 사용할 수 있다
    • @ResponseBody, @RequestMapping를 매번 메소드에 추가할 필요가 없다 
  • REST 클라이언트를 개발할 때 비차단 비동기 지원을 허용 하는 AsyncRestTemplate 클래스가 추가되었다
  • WebSocket, SockJS 및 STOMP에 대한 지원이 추가되었다

 

4. Spring 5.x

  • non-blocking과 함수형 프로그래밍, reactive stream의 구현을 할 수 있는 Spring WebFlux를 지원한다 (물론 Spring MVC도 가능)
    •  Spring Framework 5로 업그레이드하면 Spring WebFlux를 사용하기 위해 애플리케이션을 다시 작성할 필요가 없다
  • 공식적으로 Kotlin을 지원과 JUnit 5를 지원한다
  • 기본적으로 Java 8 기반, Java 9와 함께 동작하도록 설계되어 있다
  • Spring Boot 2.x 라인은 Spring Framework 5를 기반으로 한다
  • Spring Framework 5는 Java 6 또는 Java 7에서 작동할까?
    •  작동하지 않는다. Spring Framework 5에는 Java 8 이상이 필요하다.


이때까지는 나는 Spring Boot 2.x , 즉 Spring 5.x 버전을 쓰고 있었다는 것을 알게되었고,

앞으로 개발할 때 버전도 잘 보고 개발해야겠다는 생각을 하게되었다 




참고: https://docs.spring.io/spring-framework/docs/4.3.x/spring-framework-reference/htmlsingle/#spring-whats-new
https://docs.spring.io/spring-framework/docs/4.3.x/spring-framework-reference/htmlsingle/#beans-meta-annotatio
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-5-FAQ

 

출처 : https://good-or-bad.tistory.com/54

 

Spring 버전별 특징

회사 멘토님이 Spring 버전별 차이를 알고 있는지, 그동안 어떤 버전을 써왔는지 물어보셨다. 생각 해보니 나는 어떤 버전의 Spring, Spring Boot를 쓰고 있고 버전별 차이점이 무엇인지에 대해 전혀 알

good-or-bad.tistory.com

 

 

300x250
반응형