一、前言
我们在开发的时候普遍想要专注于业务逻辑的开发而并非其他事情,所以为了简化项目开发的复杂性,于是SpringBoot诞生了。
二、环境搭建
- 结构介绍
SpringBoot本身推荐我们是用maven/Ant/Gradle去搭建项目这里我使用了Maven去搭建了这个项目(项目使用SpringBoot+shiro+activity工作流+mybatis)。
大致分为java(服务端代码)以及 resources(资源文件)两部分以及Maven的pom文件
主方法如下:
package com.yy;
import org.activiti.spring.boot.SecurityAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
*
*/
@SpringBootApplication(exclude={
org.activiti.spring.boot.SecurityAutoConfiguration.class,
SecurityAutoConfiguration.class,
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
},scanBasePackages = {"com.yy"})
public class MainApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
在SpringBoot中他本身是自带tomcat所以一般是用过程中不推荐通过额外通过tomcat进行部署(但我们也可以通过剔除他本身自带的tomcat进行操作)。
-
pom文件
SpringBoot需要继承一个parent如:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent>
我们后续需要的几乎所有的技术基本上都会围绕spring-boot-starter-parent的版本进行搭建,所以我们在选择技术的jar包时需要去看一下当前所选用的版本是否支持。
其中官网列举了一些:
Name | Description |
---|---|
spring-boot-starter | Core starter, including auto-configuration support, logging and YAML |
spring-boot-starter-web | Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container |
spring-boot-starter-jdbc | Starter for using JDBC with the HikariCP connection pool |
我只列举一些详情请查看https://docs.spring.io/spring-boot/docs/2.0.7.RELEASE/reference/htmlsingle/#using-boot-starter
个人所搭建的pom文件如下:
<?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>
<groupId>com.yy</groupId>
<artifactId>logistics</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<tomcat.version>8.5.34</tomcat.version>
</properties>
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</depe