Spring Boot 自動配置好了SpringMVC
以下是SpringBoot對SpringMVC的默認配置:**==(WebMvcAutoConfiguration)==**
- Inclusion of `ContentNegotiatingViewResolver` and `BeanNameViewResolver` beans.
- 自動配置了ViewResolver(視圖解析器:根據方法的返回值得到視圖對象(View),視圖對象決定如何渲染(轉發?重定向?))
- ContentNegotiatingViewResolver:組合所有的視圖解析器的;
- ==如何定制:我們可以自己給容器中添加一個視圖解析器;自動的將其組合進來;==
- Support for serving static resources, including support for WebJars (see below).靜態資源文件夾路徑,webjars
- Static `index.html` support. 靜態首頁訪問
- Custom `Favicon` support (see below). favicon.ico
?
- 自動注冊了 of `Converter`, `GenericConverter`, `Formatter` beans.
- Converter:轉換器; public String hello(User user):類型轉換使用Converter
- `Formatter` 格式化器; 2017.12.17===Date;
```java
@Bean
@ConditionalOnProperty(prefix = "spring.mvc", name = "date-format")//在文件中配置日期格式化的規則
public Formatter<Date> dateFormatter() {
return new DateFormatter(this.mvcProperties.getDateFormat());//日期格式化組件
}
```
? ==自己添加的格式化器轉換器,我們只需要放在容器中即可==
- Support for `HttpMessageConverters` (see below).
- HttpMessageConverter:SpringMVC用來轉換Http請求和響應的;User---Json;
- `HttpMessageConverters` 是從容器中確定;獲取所有的HttpMessageConverter;
==自己給容器中添加HttpMessageConverter,只需要將自己的組件注冊容器中(@Bean,@Component)==
?
- Automatic registration of `MessageCodesResolver` (see below).定義錯誤代碼生成規則
- Automatic use of a `ConfigurableWebBindingInitializer` bean (see below).
==我們可以配置一個ConfigurableWebBindingInitializer來替換默認的;(添加到容器)==
```
初始化WebDataBinder;
請求數據=====JavaBean;
```
**org.springframework.boot.autoconfigure.web:web的所有自動場景;**
If you want to keep Spring Boot MVC features, and you just want to add additional [MVC configuration](https://docs.spring.io/spring/docs/4.3.14.RELEASE/spring-framework-reference/htmlsingle#mvc) (interceptors, formatters, view controllers etc.) you can add your own `@Configuration` class of type `WebMvcConfigurerAdapter`, but **without** `@EnableWebMvc`. If you wish to provide custom instances of `RequestMappingHandlerMapping`, `RequestMappingHandlerAdapter` or `ExceptionHandlerExceptionResolver` you can declare a `WebMvcRegistrationsAdapter` instance providing such components.
If you want to take complete control of Spring MVC, you can add your own `@Configuration` annotated with `@EnableWebMvc`.
- Spring Boot 入門
- Spring Boot 簡介
- 微服務
- 環境準備
- MAVEN設置
- IDEA設置
- Spring Boot HelloWorld
- 創建一個maven工程;(jar)
- 導入spring boot相關的依賴
- 編寫一個主程序;啟動Spring Boot應用
- 編寫相關的Controller、Service
- 運行主程序測試
- 簡化部署
- Hello World探究
- POM文件
- 父項目
- 啟動器
- 主程序類,主入口類
- 使用Spring Initializer
- IDEA使用 Spring Initializer
- STS使用 Spring Starter Project快速創建項目
- 配置文件
- 配置文件
- YAML語法
- 基本語法
- 值的寫法
- 普通的值(數字,字符串,布爾)
- 對象、Map(屬性和值)(鍵值對)
- 數組(List、Set)
- 配置文件值注入
- 其他問題
- properties配置文件在idea中默認utf-8可能會亂碼
- @Value獲取值和@ConfigurationProperties獲取值比較
- 配置文件注入值數據校驗
- @PropertySource&@ImportResource&@Bean
- 配置文件占位符
- 隨機數
- 占位符獲取之前配置的值
- Profile
- 多Profile文件
- yml支持多文檔塊方式
- 激活指定profile
- 配置文件加載位置
- 外部配置加載順序
- 自動配置原理
- 自動配置原理
- 細節
- @Conditional派生注解(Spring注解版原生的@Conditional作用)
- 日志
- 日志框架
- SLF4j使用
- 如何在系統中使用SLF4j
- 遺留問題
- SpringBoot日志關系
- 日志使用
- 默認配置
- 指定配置
- 切換日志框架
- Web開發
- 簡介
- SpringBoot對靜態資源的映射規則
- 模板引擎
- 引入thymeleaf
- Thymeleaf使用
- 語法規則
- SpringMVC自動配置
- Spring MVC auto-configuration
- 擴展SpringMVC
- 全面接管SpringMVC
- 如何修改SpringBoot的默認配置
- RestfulCRUD
- 默認訪問首頁
- 國際化
- 登陸
- 攔截器進行登陸檢查
- CRUD-員工列表
- thymeleaf公共頁面元素抽取
- CRUD-員工添加
- CRUD-員工修改
- CRUD-員工刪除
- 錯誤處理機制
- SpringBoot默認的錯誤處理機制
- 如果定制錯誤響應
- 如何定制錯誤的頁面
- 如何定制錯誤的json數據
- 將我們的定制數據攜帶出去
- 配置嵌入式Servlet容器
- 如何定制和修改Servlet容器的相關配置
- 注冊Servlet三大組件【Servlet、Filter、Listener】
- 替換為其他嵌入式Servlet容器
- 嵌入式Servlet容器自動配置原理
- 嵌入式Servlet容器啟動原理
- 使用外置的Servlet容器
- 步驟
- 原理
- Docker
- 簡介
- 核心概念
- 安裝Docker
- 安裝linux虛擬機
- 在linux虛擬機上安裝docker
- Docker常用命令&操作
- 鏡像操作
- 容器操作
- 安裝MySQL示例
- SpringBoot與數據訪問
- JDBC
- 整合Druid數據源
- 整合MyBatis
- 注解版
- 配置文件版
- 整合SpringData JPA
- SpringData簡介
- 整合SpringData JPA
- 啟動配置原理
- 創建SpringApplication對象
- 運行run方法
- 事件監聽機制
- 自定義starter