Spring Boot自动化配置实践:从Java配置开始
版权申诉
154 浏览量
更新于2024-08-07
收藏 953KB DOCX 举报
该文档介绍了如何通过Java配置在Spring Boot中实现自动化配置,特别是涉及到创建一个非Web工程,引入Spring Web MVC和Servlet API的依赖,以及编写Spring配置和Spring MVC配置。
1、创建Spring Boot工程
创建一个基本的Maven工程,而不是专门的Web工程,以保持项目的简洁性。要实现Spring Boot的功能,需要在`pom.xml`文件中添加Spring MVC的依赖,这里使用的是Spring框架的`spring-webmvc`模块,版本为5.1.6.RELEASE。同时,由于Spring Boot应用通常会处理HTTP请求,所以需要引入Servlet API的依赖,版本为4.0.1,并设置其`scope`为`provided`,表明该依赖在运行时由容器提供,避免打包到最终的WAR文件中。
```xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
```
2、Spring配置
工程创建完成后,需要添加Spring的配置类。这里使用`@Configuration`注解标识这是一个配置类,它相当于传统的XML配置文件。通过`@ComponentScan`注解指定基础包扫描路径为`org.javaboy`,并开启默认过滤器,但排除掉带有`@Controller`注解的类,这样Spring容器在启动时会自动扫描并管理除控制器外的所有组件。
```java
@Configuration
@ComponentScan(basePackages="org.javaboy", useDefaultFilters=true,
excludeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION, classes=Controller.class)})
public class SpringConfig {
}
```
3、Spring MVC配置
接下来,创建Spring MVC的配置类。这个配置类同样使用`@Configuration`注解,但可能包含更多针对Spring MVC的特定配置。`@ComponentScan`在这里被再次使用,但设置了`useDefaultFilters=false`,这意味着不会使用默认的过滤器,然后通过自定义过滤规则来决定哪些组件会被扫描。这部分文档未提供完整的配置文件内容,但通常会包括对视图解析器、拦截器、转换器和格式化器等的配置。
```java
@Configuration
@ComponentScan(basePackages="org.javaboy", useDefaultFilters=false, includeFilters={...})
public class SpringMvcConfig {
// ...
}
```
4、Spring Boot自动化配置
Spring Boot的一大特点就是自动化配置。当引入特定的依赖时,Spring Boot会自动配置相应的服务。例如,引入`spring-webmvc`后,Spring Boot会自动配置Spring MVC的相关组件,如DispatcherServlet、ViewResolvers、MessageConverters等。用户可以根据需要覆盖这些默认配置,通过创建配置类并使用`@EnableWebMvc`或在Spring配置类中添加特定的@Bean声明。
该文档引导读者如何从零开始构建一个基于Java配置的Spring Boot应用,涉及了项目结构、依赖管理、Spring配置以及Spring MVC的基本配置。通过这种方式,开发者可以更加灵活地控制应用的初始化过程,同时享受到Spring Boot带来的自动化配置带来的便利。
320 浏览量
189 浏览量
121 浏览量
2020-02-09 上传
179 浏览量
128 浏览量
2022-06-12 上传
162 浏览量
2024-07-16 上传
小兔子平安
- 粉丝: 256
- 资源: 1940
最新资源
- 西门子伺服电机介绍 pdf
- 庖丁解牛—纵向切入ASP.NET 3.5控件和组件开发技术.pdf
- ARM JTAG 调试原理
- 松下A4数字交流伺服安装调试说明书.pdf
- GNU Make 项目管理 英文版
- Math\第2章 MATLAB编程与作图.ppt
- 课程管理系统毕业设计论文
- Oracle9i&10g编程艺术_英文版
- vmware下linux的联网设置
- Hibernate References
- 传感器网络节点定位系统安全性研究
- XML文件XML Schema.docXML Schema.doc
- C语言程序设计试题精编
- Silverlight - MS Press
- 2008全国计算机模拟题库
- 集成运算放大器及基本运算电路