SpringBoot入门学习(一)目录结构
构建一个SpingBooot项目会产生如下
目录结构
resource:
static: 静态资源
templates : 模版文件
applicataion.properties: 配置文件
自动配置:
通过@EnableAutoConfiguration注解来通过包名来将SpringBootApplication所在包以及子包全部纳入spring容器
Spring在启动是,会根据.META_INF/Spring.factories找到相应的三方依赖,并将这些依赖引入本项目中去
@EnableAutoConfiguration中的两个重要注解为
第一个是根据主类所在包的目录,将子包引入spring容器中去
第二个import AutoconfigurationImportSelector.class类中主要的内容如下
这里重要的是configactions这个list,这就是从META_INF/Spring.factories下拿到的第单方依赖。
总结(自动配置,不需要手动配置xml)
问题:Spring等配置文件,默认会被Spring boot自动给配置好,不需要配置,如果要自己配置的话Spring boot能否识别?
答:不能,如果需要识别,需要注解@ImportResource(在主类启动文件中配置):例如:
@SpringBootApplication(local={"classpath:spring.xml"})
springboot通过@SpringBootConfiguration自动为我们配置
第三方的依赖spring_boot通过@EnableAutoConfiguration来为我们自动配置(Condition满足的话成立,才会加载该第三方依赖);
注入属性值赋值:(四种方式)
- application.properties
- application.yml
- @value注解形式
- @PropertySource注解指定一个文件(只能加载properties文件,不能加载yml文件)
默认会加载application.properties 和application.yml两个文件。如果需要自定义属性值的话需要注解@PropertySource来指定一个注入文件来为属性赋值。