Spring Boot 简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring boot的特点
- 创建独立的Spring应用程序
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 提供生产就绪型功能,如指标,健康检查和外部配置
- 绝对没有代码生成和对XML没有要求配置
Spring boot的优点
spring boot 可以支持你快速的开发出 restful 风格的微服务架构
自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便。只要系统架构设计合理,大型项目也能用,加上nginx负载均衡,轻松实现横向扩展
spring boot 要解决的问题, 精简配置是一方面, 另外一方面是如何方便的让spring生态圈和其他工具链整合(比如redis, email, elasticsearch)
一、SpringBoot 项目创建
1.官网创建
Spring Boot项目可以在官网上进行创建,将自己需要的勾选即可
网址:http://start.spring.io
网站示例:
2.利用IDE 创建
1.各种IDE 都有SpringBoot项目创建的插件 利用IDE 就可以创建
示例为STS
1-2.jpg
3. Spring Boot 项目 目录结构
1-3.png- src/main/java:主程序入口 SpringbootdemoApplication,可以通过直接运行该类来 启动 Spring Boot应用
- src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 static目录与
templates目录,前者用于存放静态资源,如图片、CSS、JavaScript等;后者用于存放Web页面的模板文件。 - src/test:单元测试目录,生成的 SpringbootdemoApplicationTests 通过 JUnit4实现,可以直接用运行 Spring Boot应用的测试。
4. 运行SpringBoot项目
- 可以直接运行XXXXapplication.java 文件中的 main 方法
- 进入 cmd 环境中,切换到项目路径中,然后输入 mvn spring-boot:run 回车,项目就可以启动了
- 可以利用Maven 来进行醒目的启动 选中项目-->右击-->Run as 选择 Maven build --> Goals填写 : spring-boot:run
总结笔记
-
第一次创建项目的时候 运行的时候回报错:
Unregistering JMX-exposed beans on shutdown
1-4.png
这是在创建SpringBoot项目的时候没有勾选web 选项.
在pom 文件中引入即可,就是引入一个内部的嵌入的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
5. SpringBoot 启动类
package com.liu.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @SpringBootApplication 开启了Spring的组件扫描和Spring Boot的自动配置功能。实际
* 上, @SpringBootApplication 将三个有用的注解组合在了一起。
* Spring的 @Configuration :标明该类使用Spring基于Java的配置。
* Spring的 @ComponentScan :启用组件扫描,这样你写的Web控制器类和其他组件才能被
* 自动发现并注册为Spring应用程序上下文里的Bean。
* Spring Boot 的 @EnableAutoConfiguration : 这 个 不 起 眼 的 小 注 解 也 可 以 称 为 @Abracadabra
* 就是这一行配置开启了Spring Boot自动配置的魔力,让你不用再写成
* 篇的配置了。
* @author liu.leiming
*
*/
@SpringBootApplication // 开启组件扫描和自动配置 项目使用该注解 就可以令其启动
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);//负责启动引导应用程序
}
}
6.配置应用
SpringBoot 不需要设置加载application.properties ,只要他存在就可以自动加载,配置文件格式比较简单,如设置端口,只要在配置文件写上即可: server.port=8000
7.用Maven进行项目构建
-
创建一个 maven 项目
1-5.png - 引入起步依赖
在pom.xml 文件中 加入SpringBoot 项目的起步依赖
<!-- 从 spring-boot-starter-parent继承版本号 这样一来就能利用Maven的依赖管理功能,
继承很多常用库的依赖版本,在你声明依赖时就不用再去指定版本号了。
请注意,这个pom.xml里的 <dependency> 都没有指定版本。这样就不用去考虑版本的兼容性问题了-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin><!-- 运用Spring Boot 插件 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Spring Boot通过提供众多起步依赖降低项目依赖的复杂度。起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。很多起步依赖的命名都暗示了它们提供的某种或某类功能。
举例来说,你打算把这个阅读列表应用程序做成一个Web应用程序。与其向项目的构建文件里添加一堆单独的库依赖,还不如声明这是一个Web应用程序来得简单。你只要添加Spring Boot的Web起步依赖就好了。
- 添加启动类与配置文件
- 进行项目启动
完美运行.
网友评论