幕后的SpringBoot

如果你之前搭建过SpringMVC应用,那么可能已经习惯于编写相关的XML文件或Java注解配置类
一般来讲,初始的步骤如下所示:
1.初始化SpringMVC的DispatcherServlet;
2.搭建转码过滤器,保证客户端请求进行正确的转码;
3.搭建视图解析器(view resolver),告诉Spring去哪里查找视图,以及他们是使用那种方言编写的(JSP,Thymeleaf模版等)
4.配置静态资源的位置(CSS,JS)
5.配置所支持的地域以及资源bundle
6.配置multipart解析器,保证文件上传能够正常工作
7.tomcat或Jetty包含进来,从而能够在WEB服务器上运行我们的应用
8.建立错误页面
不过,springboot为我们处理了所有的事情,因为这些配置一般是与应用相关的,所以你可以无限制的将他们进行组合.
在一定程度上来将,spring boot是带有一种倾向性的spring项目配置器,他基于约定,并且默认会在你的项目中使用这些约定
1.分发器和multipart配置
我们使用默认生成的spring boot配置文件,并将其设置为debug模式,在application.properties添加:
debug=true
现在,如果重新启动应用的话,就能看到SpringBoot的自动配置报告,他分为两个部分:
一部分是匹配上的(positive matches),列出了应用中,所有的自动配置,另一部分是没有匹配上的(negative matches),这部分是应用在启动的时候,需求没有满足的spring boot自动配置:
============================
CONDITIONS EVALUATION REPORT
============================
Positive matches:
—————–
   CodecsAutoConfiguration matched:
      – @ConditionalOnClass found required class ‘org.springframework.http.codec.CodecConfigurer’; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
   CodecsAutoConfiguration.JacksonCodecConfiguration matched:
      – @ConditionalOnClass found required class ‘com.fasterxml.jackson.databind.ObjectMapper’; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
Negative matches:
—————–
   ActiveMQAutoConfiguration:
      Did not match:
         – @ConditionalOnClass did not find required classes ‘javax.jms.ConnectionFactory’, ‘org.apache.activemq.ActiveMQConnectionFactory’ (OnClassCondition)
   AopAutoConfiguration:
      Did not match:
         – @ConditionalOnClass did not find required classes ‘org.aspectj.lang.annotation.Aspect’, ‘org.aspectj.lang.reflect.Advice’, ‘org.aspectj.weaver.AnnotatedElement’ (OnClassCondition)