Spring Boot自动化配置实践:从Java配置开始
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
该文档介绍了如何通过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带来的自动化配置带来的便利。
![](https://csdnimg.cn/release/download_crawler_static/85995000/bg3.jpg)
剩余13页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/ac8b9680820940e7ac9d0c7be554f725_weixin_44609920.jpg!1)
- 粉丝: 243
- 资源: 1940
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)