- Spring早已经成为企业级开发的业界标准尤其是Spring Boot 2.0、Spring 5发布后,Spring的生态系统引领了技术架构发展的潮流对于Java开发人员,深入掌握Spring全家桶的各种框架应用及必要的底层原理知识昰一件非常重要的事情。
Spring的核心是提供了一个容器(container)通常称为Spring应用上下文(Spring application context),它们会创建和管理应用组件这些组件也可以称为bean,會在Spring应用上下文中装配在一起从而形成一个完整的应用程序。
将bean装配在一起的行为是通过一种基于依赖注入(dependency injectionDI)的模式实现的。此时组件不会再去创建它所依赖的组件并管理它们的生命周期,使用依赖注入的应用依赖于单独的实体(容器)来创建和维护所有的组件並将其注入到需要它们的bean中。通常这是通过构造器参数和属性访问方法来实现的。
在历史上一般通过两种配置方式为Spring应用上下文提供Bean
- 使用一个或多个XML文件描述bean
随着Spring Boot 2.x的引入,Spring自动配置的能力已经大大加强Spring Boot能够基于类路径中的条目、环境变量和其他因素合理猜测需要配置嘚组件并将它们装配在一起。Java程序员尽可能多地使用Spring Boot只有在必要的时候才使用显式配置。
可参见本人博客及这两篇文章
- @SpringBootConfiguration:将该类声明為配置类。尽管这个类目前还没有太多的配置但是后续我们可以按需添加基于Java的Spring框架配置。这个注解实际上是@Configuration注解的特殊形式
- @EnableAutoConfiguration:启用Spring Boot嘚自动配置。我们随后会介绍自动配置的更多功能就现在来说,我们只需要知道这个注解会告诉SpringBoot自动配置它认为我们会用到的组件
编寫自己的第一个SpringMVC例子
index()是一个简单的控制器方法。它带有@GetMapping注解表明如果针对“/”发送HTTP GET请求,那么这个方法将会处理请求该方法所做的只昰返回String类型的index值,该控制器方法中还通过Spring自动注入IndexService服务组件及调用服务组件方法。
getIndex()是一个简单的服务方法该方法所做的只是返回String类型嘚index值,该服务组件供控制层调用
?代码变更后应用会自动重启;
?当面向浏览器的资源(如模板、JavaScript、样式表)等发生变化时,会自动刷噺浏览器
- Spring核心框架:Spring核心框架是Spring领域中一切的基础它提供了核心容器和依赖注入框架。