Spring boot 简化Spring应用开发,去繁从简,just run 就能创建一个独立的,产品级别的应用。
一、微服务
一个应用应该是一组小型服务;
服务之间通过HTTP的方式进行互通;
每个功能元素最终都是一个可独立替换和独立升级的软件单元;
使用 Spring cloud进行网状的互连互调、流式数据计算批处理等。
二、优点
快速创建独立运行的Spring项目以及与主流框架集成
使用嵌入式的Servlet容器,应用无需打成WAR包
starters自动依赖与版本控制
大量的自动配置,简化开发,也可修改默认值
无需配置XML,无代码生成,开箱即用
准生产环境的运行时应用监控
与云计算的天然集成
三、HelloWorld
1> 导入spring boot 依赖
2> 编写主程序
@SpringBootApplication:来标注一个主程序类,说明这是一个Spring Boot应用;
SpringAppliaction.run(DemoApplication.class,args):Spring 应用启动起来
3> 编写业务逻辑
4> 启动运行
5> 简化部署
- 导入spring boot插件
- 将应用打成jar包
- 使用 java -jar 的命令执行
三、HelloWorld探索
1、POM文件
1> 父项目 - 管理Spring Boot应用里面的所有依赖版本(在dependencies中有管理的,导入依赖默认不需要写版本)
2> 启动器starter - 帮我们导入了web模块正常运行所依赖的组件。
Spring Boot 将所有的功能场景抽取出来,做成一个个的starters(启动器),只需要在项目里引用这些starter,其相关场景的所有依赖都会导入进来。
2、@SpringBootApplication
Spring Boot 应用标注在某个类上,说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。
注解 |
含义 |
@SpringBootConfiguration |
SpringBoot的配置类。 标注在某个类上,表示该类是一个SpringBoot的配置类。 @Configuration:配置类(以前的配置文件)标注这个注解,配置类也是容器中的一个组件。 |
@EnableAutoConfiguration |
开启自动配置功能。 @AutoConfigurationPackage:自动配置包 @Import:Spring的底层注解,给容器中导入一个组件。 @Import(AutoConfigurationPackage.Registrar.class):将主配置类的所有包以及子包的所有组件都扫描到Spring容器。 @Import(EnableAutoConfiguration.AutoConfigurationImportSelector.class):导入哪些组件选择器。会给容器导入非常多的自动配置类(xxxAutoConfiguration) |
四、使用Spring Initializer 快捷创建SpringBoot项目
默认生成的SpringBoot项目:主程序已经生成好了,我们只需写业务逻辑;
resources文件夹中目录结构:
static:保存所有的静态资源 js,css,images;
templates:保存所有的模板页面 SpringBoot默认jar包使用嵌入式的Tomcat,默认不支持jsp页面,可以使用模板引擎 (freemarker、thymeleaf)
Application.properties:SpringBoot应用的配置文件。