一、基本配置
1.入口类和@SpringBootApplication
SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的java应用的入口方法。在main方法中使用SpringBootApplication.run,启动Spring Boot应用项目。
@SpringBootApplication是Spring Boot的核心注解,它是一个组合注解,源码如下:
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication {
Class<?>[] exclude() default {};
String[] excludeName() default {};
}
@SpringBootApplication注解主要组合了@Configuration、@EnableAutoConfiguration、@ComponentScan;若不使用@SpringBootApplication注解,则可以在入口类上直接使用@Configuration、@EnableAutoConfiguration、@ComponentScan。其中,@EnableAutoConfiguration让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置。
Spring Boot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的Bean。建议入口类放置的位置在groupId和arctifactID组合的包名下。
通过上面的源码我们可以看出,关闭特定的自动配置应该使用exclude参数,例如:
@SpringBootApplication(exclude = (DataSourceAutoConfiguration.class))
2.定制Banner
修改Banner
- 在Spring Boot启动的时候会有一个默认启动图案,如下所示:
. ____ _ __ _ _
/\ / ’ __ _ () __ __ _ \ \ \
( ( )__ | '_ | '| | ’ / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
’ || .__|| ||| |__, | / / / /
=|_|======|/=////
:: Spring Boot :: (v2.2.1.RELEASE)
在src/main/resources下新建一个banner.txt,输入测试字符Just Test Banner,重新启动程序,输出如下:
Just Test Banner
2019-11-17 23:00:59.155 INFO 42812 — [ main] com.example.demo.DemoApplication : Starting DemoApplication on LAPTOP-A8OARS7G with PID 42812 (D:\learning\SpringBootCore\target\classes started by 张全伟 in D:\learning\SpringBootCore)
2019-11-17 23:00:59.158 INFO 42812 — [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default。
关闭Banner
- main里内容修改为:
SpringApplication app = new SpringApplication(DemoApplication.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);