上篇简单概述了Spring和Spring MVC,为Spring Boot做铺垫。这篇开始由浅入深讲解总结Spring Boot。
Spring Boot的诞生
随着动态语言(Ruby,Groovy,scala,node.js)流行,java愈发笨重。配置繁多,部署复杂,第三方技术集成难度大成为诟病。
因此,SpringBoot应运而生。它采用 “习惯优于配置” 的理念让项目快速运行。(内置习惯配置,让你无需手动配置)
Spring Boot核心功能
1.以jar包的形式独立运行
运行一个Spring Boot项目只需通过java -jar xx.jar即可
2.内嵌servlet容器
Spring Boot可以选择内嵌Tomcat、Jetty或Undertow。我们无需以war包形式部署项目
3.提供starter简化maven配置
提供一系列的starter pom 来简化maven的依赖加载,可直接使用spring-boot-starter-web来快速建立项目
4.自动配置Spring
Spring Boot就根据在类路径中的jar包、类,为jar包里的类自动配置bean,极大的减少配置。
5.准生产的应用监控
Spring Boot提供基于http、ssh、telnet对运行时的项目监控
6.无代码生成和xml配置
通过代码注解来快速实现配置
Spring Boot快速搭建
1.通过start.spring.io搭建
打开浏览器登陆 http://start.spring.io/ 可以快速建立一个maven管理的Spring Boot项目。
界面如上图所示,设定我们自己项目的Group,Artifact,以及一些我们项目所要用的依赖,如Web、JPA、Thymeleaf等,点击 Generate Project 即可下载项目。这些依赖会被自动配置到pom文件中。下载后我们用自己的IDE打开这个基于maven 的项目,即可看到文件目录和框架。 文件目录
对!就是这么快!!!点了两下,不到1分钟就完成了之前使用Spring MVC等框架时需要进行很长时间的配置和目录搭建任务!而且几乎大部分我们所要使用的依赖已经在建项时就成功添加,无需去一个一个手动添加!
2.使用IDEA搭建
IDEA作为最好用的java工程开发工具,也可以直接建立Spring Boot项目。
新建项目 -> 选择Spring Initializr -> 填写项目信息 -> 选择项目使用的技术 -> 填写项目名称 -> 成功生成。
Spring Initializr 填写项目信息 选择项目使用的技术 填写项目名称
同样1分钟时间不到,即可建立一个Spring Boot项目。可见Spring Boot的快速搭建特性多么强大
运行Hello World
我们在新建的项目目录下,可以项目的根包目录下会有一个artifactId+Application
命名规则的入口类,我这里是DemoApplication。
为了方便演示,我们不新建控制器类,直接在入口类中写简单代码,如下:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
public class DemoApplication {
@RequestMapping("/")
String index(){
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
代码解释:
1.@SpringBootApplication:为Spring Boot的核心注解,用于开启自动配置。
2.main方法:项目启动入口
3.RequestMapping("/"):请求根地址时拦截处理
4.@EnableAutoConfiguration:spring boot启动时会自动注入数据源和配置JPA,因为工程中没有关于dataSource相关的配置信息,当spring创建dataSource bean因缺少相关的信息就会报错。目前为了项目启动演示hello world,在Application类上增加@EnableAutoConfiguration阻止spring boot自动注入dataSource bean和JPA
通过mvn spring-boot:run
命令或鼠标右键 -> run“DemoApplication”
来运行项目,控制台发现项目成功运行。
在浏览器中输入localhost:8080
来查看运行结果。
至此,Spring Boot的Hello World项目已经成功演示。相较于Spring MVC,无xml配置而使用注解的配置方式,更加方便快捷高效,大大提高了开发效率。
网友评论