SpringBoot入门学习(一)目录结构

构建一个SpingBooot项目会产生如下

目录结构

SpringBoot入门学习(一)目录结构

resource:

     static: 静态资源

     templates : 模版文件

     applicataion.properties: 配置文件

自动配置:

 通过@EnableAutoConfiguration注解来通过包名来将SpringBootApplication所在包以及子包全部纳入spring容器

  Spring在启动是,会根据.META_INF/Spring.factories找到相应的三方依赖,并将这些依赖引入本项目中去

@EnableAutoConfiguration中的两个重要注解为

SpringBoot入门学习(一)目录结构

第一个是根据主类所在包的目录,将子包引入spring容器中去

第二个import AutoconfigurationImportSelector.class类中主要的内容如下

SpringBoot入门学习(一)目录结构

这里重要的是configactions这个list,这就是从META_INF/Spring.factories下拿到的第单方依赖。

总结(自动配置,不需要手动配置xml)

问题:Spring等配置文件,默认会被Spring boot自动给配置好,不需要配置,如果要自己配置的话Spring boot能否识别?

   答:不能,如果需要识别,需要注解@ImportResource(在主类启动文件中配置):例如:

             @SpringBootApplication(local={"classpath:spring.xml"})

springboot通过@SpringBootConfiguration自动为我们配置

第三方的依赖spring_boot通过@EnableAutoConfiguration来为我们自动配置(Condition满足的话成立,才会加载该第三方依赖);

SpringBoot入门学习(一)目录结构

注入属性值赋值:(四种方式)

  1. application.properties
  2. application.yml
  3. @value注解形式
  4. @PropertySource注解指定一个文件(只能加载properties文件,不能加载yml文件)

   默认会加载application.properties 和application.yml两个文件。如果需要自定义属性值的话需要注解@PropertySource来指定一个注入文件来为属性赋值。