1.springboot配置文件(application.properties)
①springboot内置了Tomcat,并且不需要打成war包再执行。
②可以在application.properties中对Tomcat端口号进行更改
2.pom.xml文件
①pom文件中不需要指定版本,因为springboot把一些常见的jar包的版本号写好了,避免jar包的版本号冲突。
②springboot将各个应用/三方框架,设置成了一个个的场景(starter),以后调用哪个,只需要引入哪个场景即可,选完之后,springboot就把该场景所需要的全部依赖引入至项目。例如“web“,springboot会把web相关依赖(Tomcat、json等)全部引入本项目
3.@SpringBootApplication:主配置类
在启动springboot时必须要识别该配置类才能启动。springboot能够提供如此强大的功能,都是因为此配置类。
该注解下包含:
@SpringBootConfiguration:包含@Configuration,表示“配置类”
①表示该类是一个配置类。
@Configuration
public class A{}
②加了@Configuration的类,会自动将该配置类加入spring容器内。
配置文件与配置类?
配置类可以代替配置文件
@EnableAutoConfiguration(自动配置):可以使springboot自动配置。
@AutoConfigurationPackage
以前写spring程序时,需要把包放在扫描器里面,spring才能认识。
现在,@AutoConfigurationPackage自动将包放置扫描器内。
自动配置:可以找到@SpringBootApplication所在类的包,作用,就会将该包及所有的子包纳入spring。
@Import:引入三方jar包
总结:
编写项目时,一般会对自己写的代码及三方依赖 进行配置。但是springboot可以自动进行配置:
i:自己写的代码:springboot通过@SpringBootConfiguration自动帮我们配置。
ii:三方依赖:通过spring-boot-autoconfigure-2.0.3.Release.jar中的META-INF/spring.factories进行声明,然后通过@EnableAutoConfiguration开启使用。
iii:spring-boot-autoconfigure-2.0.3.Release.jar包含整个j2ee整合体系中所有的依赖。
自动装配原理如何自动装配:
1.即每个xxxAutoConfiguration都有若干个条件@ConditionalOnxxx,当这些条件都成立时,则该配置自动装配生效(例如:UTF-8编码的装配);但是我们可以手工修改,通过修改xxsProperties文件中的prefix.属性=value
2.全局配置文件中的key,来源于某个properties文件中的prefix+属性名
如何知道springboot开启了哪些自动装配,禁止了哪些自动装配?
在application.properties中加一句话:debug=true即可
Negative matches:表示springboot在此时并没有开启的自动装配
Positive matches:表示springboot在此时开启的自动装配