首先先介绍一下什么是Spring框架?
spring是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。
spring官网我放在这里了:《》Spring | Home.Spring | Home《》Spring | Home.
我们一般所说的Spring框架指的都是Spring Framework,它是由很多模块的集合组成,使用这些模块可以很方便的协助我们来进行项目的开发。这些模块有核心容器、数据继承、Web、AOP(面向切面编程)、工具、信息和测试模块,比如Core Container中的Core组件是Spring所有组件的核心,Beans 组件和 Context 组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程 。
Spring 官网列出的 Spring 的 6 个特征:
-
核心技术 :依赖注入(DI),AOP,事件(events),资源,i18n,验证,数据绑定,类型转换,SpEL。
-
测试 :模拟对象,TestContext框架,Spring MVC 测试,WebTestClient。
-
数据访问 :事务,DAO支持,JDBC,ORM,编组XML。
-
Web支持 : Spring MVC和Spring WebFlux Web框架。
-
集成 :远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。
-
语言 :Kotlin,Groovy,动态语言。
我列举一些重要的Spring模块如下
-
Spring Core: 基础,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IoC 依赖注入功能。
-
Spring Aspects : 该模块为与AspectJ的集成提供支持。
-
Spring AOP :提供了面向切面的编程实现。
-
Spring JDBC : Java数据库连接。
-
Spring JMS :Java消息服务。
-
Spring ORM : 用于支持Hibernate等ORM工具。
-
Spring Web : 为创建Web应用程序提供支持。
-
Spring Test : 提供了对 JUnit 和 TestNG 测试的支持。
@RestController 跟 @Controller的区别
Controller
返回一个页面 ,如果单独使用@Controller不适用@ResponseBody的话一般使用在返回一个试图的的情况下,这种情况属于比较传统的Spring MVC的应用。
@RestController=@Controller+@ResponseBody,@RestControlller返回的是JSON或者XML形式的数据