SpringBoot+Mybatis

玩了一段时间了,上网转了转,发现网上有许多SpringBoot框架架构的相关教程,不过都比较简短,可能小萌新看懂需要花费很多脑力和时间,所以本人就决定写一篇所有人都能轻松看懂的教程,还望大家多多支持hhh~~~

如果你是以下两种人的其中一种

  • 熟练爱好者:那么你如果忘记了有pom.xml和ymal文件、properties文件详细配置,你可以在本篇中直接找干货COPY.(o)/~
  • 小萌新:那么建议你能够耐心坚持下去,祝你们学习愉快!

SpringBoot可以说是目前Java开发非常主流的框架了,可以很简单的创造出许多漂亮网站的功能。

总的一句话概括SpringBoot就是:Boot!快速启动!习惯优于配置!大道至简!

怎么理解这句话呢?其实就是说,相比于SSM定义很多复杂的Bean或者Config其他的配置。Springboot中,基本上它可以“读懂”你的意思,帮你把看似机械化的架构和配置工作。全部做完、十分简单、甚至Tomcat都不用。

然后Springboot真的可以很简单~,只要好好学习自己手动架构一个也就理解了,架构完以后就能无限的Copy啦,其中简单的说下Springboot的一些特点。

  1. 内置Tomcat
    我觉得这个基本上颠覆了以前的传统。怎么理解?
    你做完一个项目。直接打包成jar、然后找到一台有JDK环境的地方,运行指令就可以直接启动项目了~!
    完全不需要去下载Tomcat、然后配置server.xml、然后放到webApp、然后用tomcat运行和启动。同时还不会影响到其他项目的运行~!
前台启动:java -jar XXX.jar
后台启动:java -jar xxx.jar &假设你打开Linux终端、如果用前台运行的话、当你关闭终端时、也就停止了项目的运行。
所以、当你真正需要部署的时候,使用后台部署模式。部署后你可以直接关闭终端。
  1. 默认配置
    大道至简。各种web支持。Mysql支持。Redis支持。都可以做到按照常用习惯自动配置

  2. 友好自定义配置
    在resource目录下创建名为application.yaml的文件。可以在里面对项目进行任何配置。

server:port: 8080servlet-path: /
spring:http:encoding:charset: utf-8enabled: trueforce: trueresources:static-locations: classpath:/static/,classpath:/public/mvc:view:prefix: /WEB-INF/jsp/suffix: .jspmail:host: smtp.163.comusername: xxxxx@163.compassword: xxxxxproperties:mail:smtp:auth: truetimeout: 25000
mybatis:mapper-locations: cn.lantian.springboot.mapper.*.xmltype-aliases-package: cn.lantian.springboot.model#pagehelper分页插件
pagehelper:helperDialect: mysqlreasonable: truesupportMethodsArguments: trueparams: count=countSql
logging:level: info
  1. 几乎全注解模式
    controller、service、配置、应有尽有

  2. 对其他开源系列都基本很友好
    比如分页插件、轻松一配、完成工作!


好、有一个小概念之后,我们正式来构建Springboot项目。因为笔者使用的是IDEA作为Java的IDE,那就以此为例(编译器大同小异,掌握了内部的来龙去脉用什么都一样)

  1. 创建一个maven项目

3.如果不出意外的话、你们的骨架就架构成功了。是不是层次看着特别舒服。

4.接下来我们导入Springboot框架中常用到的相关jar包。找到POM.XML文件

(o)/~是这样的。

O(∩_∩)O哈哈~然后看好了哦、放点东西进去

<?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>1.5.6.RELEASE</version></parent><groupId>groupId</groupId><artifactId>FastAcountBook</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><!-- ftpclient --><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.1</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>20.0</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.5</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.3</version></dependency><!--基本整合包、然后原本有配置包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.0</version></dependency><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><!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- 添加thymeleaf依赖 --><!--<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>&lt;!&ndash; import lombok &ndash;&gt;<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.8</version><scope>provided</scope></dependency>--><!-- 注意,这里不需要版本号,因为如果是按照我之前的方法创建的项目,pom.xml文件里会自动添加parent结点。--><!--Mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><!-- alibaba的druid数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.11</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-joda</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-parameter-names</artifactId></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><!-- 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.1.2</version></dependency><!-- SpringBootPeizhialibaba的druid数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.0</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><!--email邮件 http://blog.csdn.net/u011244202/article/details/54809696--><!-- Email --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><!--Excel表dao导出导入--><!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><!--处理2007年以上的excel版本--><!-- POI EXCEL --><!--<dependency>--><!--<groupId>org.apache.poi</groupId>--><!--<artifactId>poi-ooxml</artifactId>--><!--<version>3.9</version>--><!--</dependency>--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>3.1.0</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>3.1.0</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>3.1.0</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.5</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version></dependency><!-- 热部署模块 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> <!-- 这个需要为 true 热部署才有效 --></dependency></dependencies><build><finalName>${project.artifactId}</finalName><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include><include>**/*.tld</include><include>**/*.jsp</include></includes></resource><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/*</include></includes></resource></resources><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration></plugin><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

好的哟!这样所需要的jar包就已经丢进去了。

接下来、很舒服、我们就开始做最后配置

在cn.lantian.springboot下新建一个Application的启动类、并标注上相关注解

package cn.lantian.springboot;import cn.lantian.springboot.interceptor.FirstInterceptor;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;/*** Created by Lzbin、lantian on 2018/3/10.** @version 1.0* @PACKAGE_NAME cn.lantian.springboot.application* @Dercripton* @Time 下午11:03*/
@Controller
@MapperScan("cn.lantian.springboot.mapper")
@SpringBootApplication
@SpringBootConfiguration
@EnableScheduling
@EnableCaching
public class FastAcountBookApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(FastAcountBookApplication.class);}@RequestMapping("/hello")@ResponseBodypublic String hello() {return "hello";}//执行顺序:过滤前 – 拦截前 – Action处理 – 拦截后 – 过滤后//MVC控制-拦截器配置@Configurationstatic class WebMvcConfigurer extends WebMvcConfigurerAdapter {//增加拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new FirstInterceptor()).//指定拦截器addPathPatterns("/**").excludePathPatterns("/resources","/hello");//指定拦截路径}}/*** 注册DruidServlet** @return*/@Beanpublic ServletRegistrationBean druidServletRegistrationBean() {ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();servletRegistrationBean.setServlet(new StatViewServlet());servletRegistrationBean.addUrlMappings("/druid/*");return servletRegistrationBean;}/*** 注册DruidFilter拦截** @return*/@Beanpublic FilterRegistrationBean duridFilterRegistrationBean() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();filterRegistrationBean.setFilter(new WebStatFilter());Map<String, String> initParams = new HashMap<String, String>();//设置忽略请求initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");filterRegistrationBean.setInitParameters(initParams);filterRegistrationBean.addUrlPatterns("/*");return filterRegistrationBean;}/* datasource:name: testurl: jdbc:mysql://47.98.194.241:3306/officeauto1?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=trueusername: rootpassword: sziit# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driver*//*** 配置DataSource** @return* @throws SQLException*/@Beanpublic DataSource druidDataSource() throws SQLException {DruidDataSource druidDataSource = new DruidDataSource();druidDataSource.setUsername("xxx");druidDataSource.setPassword("xxx");druidDataSource.setUrl("jdbc:mysql://xxx:3306/fastacountbook?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true");//   druidDataSource.setUrl("jdbc:mysql://xxx:3306/officeauto1?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true");druidDataSource.setMaxActive(100);druidDataSource.setFilters("stat,wall");druidDataSource.setInitialSize(10);return druidDataSource;}public static void main(String[] args) {SpringApplication.run(FastAcountBookApplication.class, args);}}
  • 恭喜你、全部配置完成~!!!

最后、舒服一下吧。点击main方法、直接启动~
是不是突然觉得比SSM轻多了、快速启动就是这个意思。

以上就是Springboot搭建的全过程啦~
还有什么不明白疑问的地方、可以通过评论进行交流~

如果觉得不错的小伙伴可以转发哦让更多同学看到、一起学习一起进步!!!

(二)、一步一步教你搭建SpringBoot+Mybatis相关推荐

  1. 手把手教你IDEA+SpringBoot+MyBatis+MySql实现动态登录与注册

    Just Code It 一.搭建SpringBoot项目1.1.file --> new --> project--> Spring Initializr--> next-- ...

  2. java+spring+mysql配置_JAVA后台搭建(springboot+mybatis+mysql)项目搭建

    前言 上篇文章写了基本环境配置的搭建,接下来我们需要搭建项目了,项目搭建使用的IDEA,springboot项目的搭建非常快只需要几分钟,然后介绍MyBatis以及MySql的基本配置以及项目的Hel ...

  3. 搭建springboot+mybatis+freemarker项目

    1. 创建springboot web项目 先创建一个项目 选择maven项目,先什么都不勾,直接点击next groupid和artifactid可以随便填,然后点击next 点击finish fi ...

  4. 从零开始快速搭建SpringBoot+Mybatis+小程序应用--微信小程序的入门和前后端的联调

    目录 项目介绍 vx小程序简介 VX开发工具介绍 列表页开发 list的编写 列表页前后端联调 信息编辑页开发 operation的编写 区域信息编辑页的联调 项目介绍 从0搭建后端的Springbo ...

  5. python国际象棋ai程序_只需五步!手把手教你搭建国际象棋AI机器人

    王新民 编译 量子位 报道 | 公众号 QbitAI 要创建一个简单的象棋AI,我们在开始编程之前要先了解四个基本的概念:移动生成.棋局评估.最大最小搜索和α-β剪枝搜索过程. 在每个步骤中,我们将会 ...

  6. 手把手教你搭建springboot程序

    spring-boot项目搭建 一.从官网搭建 1.进入spring官网,快速初始化一个项目 2.填写项目基本信息 3.项目结构分析 4.添加项目依赖 5.下载到本地 6.解压 7.idea,打开,使 ...

  7. 手把手教你搭建SpringBoot+MySQL+Mybatis项目(采坑日记)

    项目地址: GitHUb:https://github.com/China-Ma/happyfoal Gitee:https://gitee.com/China-Ma/happyfoal 1. 创建项 ...

  8. MyEclipse中搭建spring-boot+mybatis+freemarker框架

    1.在MyEclipse里创建一个maven项目.File>New>Maven Project: 勾选图中红色部分,然后点击Next. 2.填写下图中红色部分然后点击Finish. 3.此 ...

  9. mysql test 映射到实体_从零搭建SpringBoot+MyBatis+MySQL工程

    目录 创建工程 了解MVC模型 属性配置文件.yml springboot里的数据库布局 创建包 创建数据表 创建实体类DAO(model) 创建mapper 语句直接写在class中(全注解方式) ...

最新文章

  1. Linux C编程--网络编程2--面向连接的网络编程
  2. PhantomJS快速入门教程(转)
  3. 【BIM入门实战】Revit入门基础知识选择题带答案解析(116题)
  4. 训练残骸模式– Java 8中的改进实现
  5. jdbc执行sql 不支持“variant”数据类型。
  6. Linux能ping主机,但ping不了网关以及外网,显示包全丢失解决方案
  7. 专有网络、云产品、路由器和交换机
  8. HDU-2544-最短路(floyd)
  9. 3DLC系列之:2D 曲线面板
  10. 数字光电耦合器为汽车应用提供低功耗和高隔离
  11. Android P 音频焦点管理
  12. JWT全面解读、使用步骤
  13. 易虎再谈网站被恶意刷流量和防恶意点击的解决思路
  14. Docker Engine 安装时遇到的坑
  15. SpringBoot 集成 WebSocket 实现消息群发推送
  16. 深度学习下运维日志分析的趋势解读与应用实践
  17. Docker搭建持续集成平台jira
  18. Android 源码刷机版本号、支持设备对照表(AOSP )
  19. 科目二 领线30cm 修方向 示意图 LTS
  20. dedecmsmip_织梦MIP响应式企业通用模板

热门文章

  1. 慎用BeanUtils的对象拷贝方法
  2. 学习Linux命令(39)
  3. 2022-3-5 王爽《汇编语言》第七章
  4. 我的AA字体美化方法【方正圆体字】(转)
  5. leetcode系列-213.打家劫舍II
  6. [轉帖]x.509证书在WCF中的应用(Web/IIS篇)
  7. matlab编选择程序if,matlab程序if语句用法
  8. 如何批量下载阿里巴巴产品及公司相册
  9. 已处理证书链,但是在不受信任提供程序信任的根证书中终止
  10. AutoCAD:ObjectARX所有版本下载地址