你的位置:首页 > Java教程

[Java教程]Spring Boot笔记

1. 如果你的配置文件写在根目录,则使用@ComponentScan不需要任何参数,所有配置的组件(@Component,@Service, @Repository, @Controller 等)都会自动注册为Spring Beans。2. @SpringBootApplication注解等价于使用@Configuration,@EnableAutoConfiguration和@ComponentScan的默认属性(也可以进行自定义属性):

package com.example.myproject;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScanpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}

 

3. 如果你要注册listener,不管application的创建方式,可以添加META-INF/spring.factories文件到你的项目,并使用org.springframework.context.ApplicationListerner键。
例:    
     

org.springframework.context.ApplicationListener=com.example.project.MyListener

 

4. 如果你想在SpringApplication启动后运行一些代码,可以实现ApplicationRunner或CommandLineRunner接口,这两个接口提供一个run方法,此方法会在SpringApplication.run(...)完成前调用。

 

5. SpringApplication将在以下位置读取application.properties属性文件。

    * 当前目录下的/config子目录
    * 当前目录
    * classpath下的/config
    * 根目录


6. 静态内容默认的位置:/static , /public , /resources , /META-INF/resources


7. 模板引擎文件默认的位置:src/main/resources/templates(即根目录下的templates)


8. 默认错误界面:如果界面为静态界面,则文件名为对应的错误状态码,如404.html,将其放于静态目录下的error目录下。如果为动态页面,则放于动态界面目录下的error目录下,名字为错误状态码。


9. 自定义嵌入式servlet容器的配置:
    Network setting: server.port,
    Session setting: server.session.persistence
                     server.session.timeout
                     server.session.cookie.*
如果要通过编程方式配置,可以继承EmbeddedServletContainerCustomizer接口
     

import org.springframework.boot.context.embedded.*;import org.springframework.stereotype.Component;
@Componentpublic class CustomizationBean implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(9000); } }