一、入口类和@SpringBootApplication
Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解,点击进入源码可以看到:
该注解主要组合了以下注解:
1. @SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解:
在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuration
2. @EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项。如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC
3. @ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
二、关闭自动配置
通过上述,我们得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置如下(非常多):
如果我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置呢?比如:我们不想自动配置Redis,想手动配置。
@SpringBootApplication(exclude={RedisAutoConfiguration.class})
@Configuration
public class HelloApplication {
}
三、自定义Banner
启动Spring Boot项目后会看到这样的图案:
这个图片其实是可以自定义的:
1. 打开网站:http://patorjk.com/software/taag/#p=display&h=3&v=3&f=4Max&t=itcast%20Spring%20Boot
2. 拷贝生成的字符到一个文本文件中,并且将该文件命名为banner.txt
3. 将banner.txt拷贝到项目的resources目录中:
4. 重新启动程序,查看效果:
如果不想看到任何的banner,也是可以将其关闭的:
public static void main(String[] args) {
// SpringApplication.run(HelloApplication.class, args);
SpringApplication application = new SpringApplication(HelloApplication.class);
application.setBannerMode(Mode.OFF);
application.run(args);
}
四、Spring boot的XML配置
Spring Boot提倡零配置,即无xml配置,但在实际项目中,可能有一些特殊要求必须使用xml配置,这时我们可以通过Spring 提供的@mportResource来加载xml配置,例如:
@ImportResource({"classpath:some-context.xml","**.xml"})