初识SpringBoot (下)
SpringBoot自动配置的原理是什么
使用 @SpringBootApplication 来标注主配置类,作用:SpringBoot的@EnableAutoConfiguration 注解的实现自动配置功能。
@SpringBootApplication
使用 @SpringBootApplication 来标注主程序类,启动项目。我们可以看它的细节,按住ctrl,其下有两个注解:@SpringBootConfiguration、@EnableAutoConfiguration。
@SpringBootConfiguration:按住ctrl,其下有@Configuration注解,使用它标注的类是一个配置类。代替xml配置文件,具有xml配置的所有功能
@EnableAutoConfiguration:以前在的springmvc项目,我们要编写 springmvc-servlet.xml、mybatis-config.xml、applicationContext.xml 等配置文件,在Spring Boot中无需配置那么多配置文件,可以自动配置。
配置文件的格式以和使用
两种:.yml 或者 .properties,它们配置的效果相同,但是风格区别很大。
application.properties:
数据的存储格式为 key-value。
application.yml :
ym不是一个标记语言的文档,但它的表现形式和 xml有部分类似。yml 的语法特点:
1)以换行和缩进来控制节点的层级,左对齐的节点算同级,严格缩进对齐
2) 有值的节点是key:空格value格式
3) 没有值的节点是key:格式
4)同级节点不能重复
使用fat jar方式打包SpringBoot项目
这种打包方式是把整个项目的 class、配置文件和依赖的其它 jar都打进一个大的 jar 包。只需要这一个包就可以放到任何安装JRE的机器去用 Java 命令启动了。
在 IDEA 中的 maven 项目上,打一个 Fat Jar 非常简单,从 Maven Project 窗口:
有了jar,可以直接以命令的方式运行这个 Web 项目,在idea的Terminal 中执行两个命令:
cd target
Java -jar sbdemo1-0.0.1-SNAPSHOT.jar
自定义配置文件
使用@ImportResource 注解识别自定义的 Spring 配置文件,但是可能会错:No bena named ‘stu’ available 的错。使用@ImportResource加载程序运行的主程序上可解决。
但是Springboot不建议手动编写 Spring 配置文件但,可以使用 Spring Boot 提供的@Configuration、@Bean 等注解来实现 XML配置文件所实现的功能。