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
300x250
반응형
'Back-End > 그 외' 카테고리의 다른 글
[C] C 비트연산자(연산자 &, |, ^, ~, <<, >>, and, or, xor, 비트 반전, 비트 이동) (0) | 2023.02.16 |
---|---|
[Spring] JAVA SPRING관련 용어정리 (0) | 2023.02.10 |
[Lombok] Lombok @Getter,@Setter Annotation 인식 안됨 [해결] (0) | 2023.02.10 |
eclipse로 개발할 때 maven으로 다운받은 jar의 소스와 javadoc을 자동으로 붙이기 (0) | 2023.02.10 |
[Android] Retrofit2 @Body @Field 차이 (0) | 2023.02.09 |