spring boot简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的spring应用。spring boot为spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数spring boot应用只需要很少的spring配置。
我们可以使用spring boot创建java应用,并使用java -jar启动它,或者采用传统的war部署方式 。
1、spring boot的主要目标是:
(1)为所有spring的开发提供一个从根本上更快的入门体验。
(2)开箱即用,但通过自己设置参数,即可快速摆脱这种方式。
(3)提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康监测、外部化配置等。
(4)绝对没有代码生成,也无需XML配置
2、spring boot环境准备
数据库:MySQL
IDE:Eclipse Mars2
Spring Boot:1.4.4
Maven:3.3.3(官方声明1.4.4版本需要Maven 3.2+)
本地仓库:需要使用资料中的仓库
3、具体步骤
(1)创建一个Maven工程。
(2)在pom.xml中添加依赖,效果如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.4.RELEASE</version>
</parent>
<groupId>cn.itcast.springboot</groupId>
<artifactId>itcast-springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
会发现,我们的工程中自动添加了好多好多jar包,而这些jar包即为我们做开发时需要导入的jar包。
因为这些jar包被pom.xml中的spring-boot-starter-web所引用了,所以添加spring-boot-starter-web后会自动把依赖传递过来。
(3)变更JDK版本
默认情况下,工程的JDK版本是1.6,但是通常使用的是1.7版本。
将JDK的版本修改为1.7,需要在pom.xml中添加以下配置:
<properties>
<java.version>1.7</java.version>
</properties>
注:spring boot可以使用JDK1.6和JDK1.7,但spring boot官方建议使用JDK1.8。要使用JDK1.8,必须先在电脑上安装JDK1.8,才能在pom.xml中进行设置。
(4)创建引导类
需要创建一个引导类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo {
public static void main(String[] args) {
SpringApplication.run(Demo.class, args);
}
}
这里多了一个@SpringBootApplication注解
@Configuration:用于定义一个配置类
@EnableAutoConfiguration:Spring Boot会自动根据你所添加jar包的依赖来自动配置项目。
@ComponentScan:告诉Spring哪个package中用注解标识的类会被spring自动扫描并且装入bean容器。
(4)设置Banner
直接启动,控制台出现以下标识。
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.4.4.RELEASE)
这个标识是Spring启动标识,如果不想要,可以设置取消,取消的代码如下:
import org.springframework.boot.Banner.Mode;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// SpringApplication.run(Application.class, args);
SpringApplication application = new SpringApplication(Application.class);
application.setBannerMode(Mode.OFF);
application.run(args);
}
}
注:可以通过修改配置文件制定自己的标识。
4、入门程序
需求:使用Spring MVC实现Hello World输出。
(1)原来的实现
现在使用Spring MVC框架,实现json数据的输出。在web.xml中添加一个DispatcherServlet的配置,还需要添加一个spring的配置文件,配置文件如下配置:
spring加入配置
<!-- controller注解扫描 -->
<context:component-scan base-package="cn.itcast.springboot.controller" />
<!-- 注解驱动 -->
<mvc:annotation-driven />
web.xml加入配置
<!-- 配置前端控制器 -->
<servlet>
<servlet-name> itcast-springboot</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name> itcast-springboot</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
还要编写Controller。。。
(2)利用Spring Boot的实现
不需要配置文件,直接编写Controller类即可。
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping("info")
public String info() {
return "Hello world!";
}
}
@RestController注解:其实就是@Controller和@ResponseBody注解加在一起。
启动方式一:启动之前编写的引导类即可。
启动方式二:使用Maven命令spring-boot:run执行即可。
选择Maven Build,在浏览器地址栏输入http://localhost:8080/info即可看到运行结果。
5、热部署
因为在开发中需要反复修改类、页面等资源,每次修改后都是重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间。
Spring-boot-devtools模块支持应用快速重启(restart)。
我们只需要在pom.xml中加入如下配置即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
6、SpringBoot整合
(1)整合SpringBoot
(2)整合MyBatis
I:在pom.xml中加入以下依赖
<!-- SpringBoot的Mybatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency>
https://blog.csdn.net/m0_37106742/article/details/64438892