SpringBoot自动配置详解

SpringBoot自动配置详解

按照“约定大于配置”的原则,Spring Boot通过扫描依赖关系来使用类路径中可用的库。
对于眉哥哥pom文件中的“spring-boot-starter-*”依赖,Spring Boot会执行默认的AutoConfigurarion类。此类使用*AutoConfiguration词法模式自动配置
使用“--dubug‘运行应用程序可以查看自动配置的相关报告
    $ java -jar bulid/libs/spring-boot-rest-1.0.0.jar -- debug
排除某些库的自动配置
    @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
    
使用自定义端口:
    server.port=8081

更换配置文件的位置:
    默认情况下,Spring Boot将所有配置外部化到application.properties文件中。此外,可以设置从外部读取属性
        spring.config.name:配置文件名
        spring.config.location:配置文件位置
        
自定义配置:
    配置文件:file.name=hahaha
    java文件中获取属性:
        @Value("${file.name}")
    
使用.yaml作为配置文件(eclipse排版注意不要用tab键)
    spring:
        application:
            name:walang
        datasource:
            url:...

profiles:
    不同的环境使用不同的配置(spring cloud推荐使用配置中心)。
    application.properties配置激活文件(放在主类或者jar之前):
        spring.profiles.active=production
    .properties能够平坦化映射,可以用 application-${profile}.properties 的方式来指定特定于配置文件的值
    yaml文件用 "---"行 分割文档序列,每个文档分别解析为平坦化的映射
        server:
            port:9000
        ---
        spring:
            profiles:development
        server:
            port:9001
        ---
        spring:
            profiles:production
        server:
            port:0909


内嵌Servlet容器
    Spring Boot包括支持嵌入式Tomcat、Jetty和Undertow服务器,默认嵌入式服务将侦听8080端口上的HTTP请求
    
注册Servlet、过滤器和监听器
    如果惯例的映射不够灵活,可以通过ServletRegistrationBean,FilterRestrationBean,ServletListenerRestrationBean类来进行完全控制

Servlet上下文初始化
    如果需要在Spring Boot执行Servlet上下文初始化,则应注册一个实现org.springframework.boot.web.servlet.ServletContextInitializer接口的bean。OnStartup方法提供对ServletContext的访问。
    当使用嵌入式容器时,可以使用@ServletComponentScan来自动注入启用@WebServlet,@WebFilter,@WebListener注解的类
    注意:@ServletComponentScan在独立部署的容器中不起作用,因为独立部署的容器中使用容器内置的发现机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值