1、SpringBoot 配置加载顺序?
先是 properties文件、第二是YAML文件、 第三是系统环境变量、 第四是命令行参数
2、SpringBoot如何配置log4j?
现在pom文件中加载对应的坐标依赖,去src/main/resources目录下的log4j-spring.properties配置文件,就可以开始对应用的日志进行配置使用。在此之前需要排除项目自带的日志。
3、SpringBoot自动配置的原理是什么?
在SpringBoot启动的时候通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的自动配置类,并对其进行加载,而这些自动配置类的类名都是以AutoConfiguration结尾来命名的,它实际上就是一个javaConfig形式的Spring容器配置类,它们都有一个@EnableConfigurationPerperties的注解,通过这个注解启动XXXProperties命名的类去加载全局配置中的属性,如server.port,而XXXProperties通过@ConfigurationProperties注解将全局配置文件中的属性与自己的属性进行绑定。
4、什么是JavaConfig?
Spring JavaConfig是Spring社区的产品,他提供了配置Spring IOC容器的纯Java方法。因此它有助于避免使用XML配置。
1.面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分使用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。
2.减少或者消除XML配置。基于依赖注入原则的外化配置的好处已经被证明。但是,许多开发人员不希望在XML和Java之间来回切换。javaconfig为开发人员提供了一种纯Java的方法来配置与XML配置概念相似的Spring容器。从技术角度来说,只使用javaconfig配置类来配置容器是可行的,但是实际开发中,很多场景都是javaconfig和xml配置共用是最方便,理想的。
3.类型安全和重构友好。javaconfig提供了一种类型安全的方法了来配置spring容器,由于Java5.0对泛型的支持,现在可以按类型而不是名称检索bean,不需要任何的强制转换或者基于字符串的查找。
5、运行 SpringBoot 有哪几种方式?
1、 打包用命令或者放到容器中运行
2、 用 Maven/ Gradle 插件运行
3、 直接执行 main 方法运行