Spring Boot基础

框架简介

SpringBoot的宗旨并非要重写Spring或是替代spring,而是希望大量的自动化配置等方式来简化Spring原有样板化的配置,使得开发者可以快速的构建应用.

快速入门

项目的构建与解析

  • Java7及以上版本
  • Spring Framework4.2.7及以上版本
  • Maven3.2及以上版本/gradle1.12及以上版本

构建Maven项目

  1. 通过官方的Spring Initiaizr工具来产生基础项目.
  2. 访问https://start.spring.io,该页面提供了以Maven或Gradle构建的Spring Boot项目的功能.
  3. 选择构建工具Maven Project,Spring Boot版本1.3.7,填写Group和Artifact信息.在search for dependencies添加所需要的依赖包,实现Restful API 需要添加web依赖.
  4. 单机Generate Project 下载项目压缩包.
  5. 解压压缩包,并用IDE以Maven项目导入.
  6. 从菜单中选择File–>new–>Project for Existing Source …
  7. 选择解压后的项目文件夹
  8. 以Mvaen项目导入,并选择JDK版本.
    image

工程结构解析

image
image

  • src/main/java:主程序入口,可以直接运行该类来启动Spring Boot 应用.
  • src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名,服务端口,数据库连接等.由于我们引入了Web模块,因此产生了static目录与templates目录,前者用于存放静态资源,如图片,css,js等,后者用于存放web页面的模板文件.
  • src/test/: 单元测试目录,通过Junit4实现,可以直接运行spring boot 应用的测试.

Mvaen的配置分析

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<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>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

在基础信息部分,groupid和artifactId对应生成项目页面上输入的内容,打包形式为**jar,Spring Boot项目默认把web应用打成jar包**.
父项目parent配置指定为spring-boot-starter-parent1.3.7版本,该父项目中定义了spring boot 版本中的基础依赖以及一些默认的配置内容.比如application.properties的位置等.

在项目依赖的dependences配置中,包含以下两项:

  • spring-boot-starter-web:全站web开发模块,包含嵌入式Tomcat,spring MVC.
  • spring-boot-starter-test:通用测试模块,包含Junit,Hamcrest,Mockito.

实现restful API

  • 新建包,新建一个controller类 ,如下:
@RestController
public class HelloController {  
    @RequestMapping("hello")
    public String index(){
        return "Hello word";
    }
}
  • 启动程序,访问,我们可以得到预期结构,hello Word.

启动spring boot应用

  1. 直接通过main函数来启动.
  2. 在maven的配置中,使用了spring boot的插件,可以使用插件启动,比如执行mvnspring-boot:run命令,或者直接单击IDE中的maven插件工具.
    image
  3. 在服务器部署运行时,通常先使用mvn install将应用程序打成jar包,在通过java -jar xxx.jar来运行.

编写单元测试
在Spring Boot项目中实现单元测试十分方便,我们只需在src/test/编写即可.

# 例子如下  

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootApplicationConfiguration(classes = HelloApplicationTests.class)
@WebAppConfiguration
public class HelloApplicationTests {
    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
       mvc = MockMvcBuilders.standaloneSetup(new HelloController().build());
    }
}

代码解析如下:

  • @RunWith(SpringJUnit4ClassRunner.class):引入spring对Junit4的支持.
  • @WebAppConfiguration:开启web应用的配置,用于模拟ServletContext.
  • MockMvc对象:用于模拟调用Controller的接口发起请求.
  • @Before:Junit中测试用例@Test内容执行前加载.
  • @SpringBootApplicationConfiguration(classes = HelloApplicationTests.class) :指定spring boot的启动类.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值