(二)、一步一步教你搭建SpringBoot+Mybatis
SpringBoot+Mybatis
玩了一段时间了,上网转了转,发现网上有许多SpringBoot框架架构的相关教程,不过都比较简短,可能小萌新看懂需要花费很多脑力和时间,所以本人就决定写一篇所有人都能轻松看懂的教程,还望大家多多支持hhh~~~
如果你是以下两种人的其中一种
- 熟练爱好者:那么你如果忘记了有pom.xml和ymal文件、properties文件详细配置,你可以在本篇中直接找干货COPY.(o)/~
- 小萌新:那么建议你能够耐心坚持下去,祝你们学习愉快!
SpringBoot可以说是目前Java开发非常主流的框架了,可以很简单的创造出许多漂亮网站的功能。
总的一句话概括SpringBoot就是:Boot!快速启动!习惯优于配置!大道至简!
怎么理解这句话呢?其实就是说,相比于SSM定义很多复杂的Bean或者Config其他的配置。Springboot中,基本上它可以“读懂”你的意思,帮你把看似机械化的架构和配置工作。全部做完、十分简单、甚至Tomcat都不用。
然后Springboot真的可以很简单~,只要好好学习自己手动架构一个也就理解了,架构完以后就能无限的Copy啦,其中简单的说下Springboot的一些特点。
- 内置Tomcat
我觉得这个基本上颠覆了以前的传统。怎么理解?
你做完一个项目。直接打包成jar、然后找到一台有JDK环境的地方,运行指令就可以直接启动项目了~!
完全不需要去下载Tomcat、然后配置server.xml、然后放到webApp、然后用tomcat运行和启动。同时还不会影响到其他项目的运行~!
前台启动:java -jar XXX.jar
后台启动:java -jar xxx.jar &假设你打开Linux终端、如果用前台运行的话、当你关闭终端时、也就停止了项目的运行。
所以、当你真正需要部署的时候,使用后台部署模式。部署后你可以直接关闭终端。
默认配置
大道至简。各种web支持。Mysql支持。Redis支持。都可以做到按照常用习惯自动配置友好自定义配置
在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
几乎全注解模式
controller、service、配置、应有尽有对其他开源系列都基本很友好
比如分页插件、轻松一配、完成工作!
好、有一个小概念之后,我们正式来构建Springboot项目。因为笔者使用的是IDEA作为Java的IDE,那就以此为例(编译器大同小异,掌握了内部的来龙去脉用什么都一样)
- 创建一个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><!– import lombok –><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相关推荐
- 手把手教你IDEA+SpringBoot+MyBatis+MySql实现动态登录与注册
Just Code It 一.搭建SpringBoot项目1.1.file --> new --> project--> Spring Initializr--> next-- ...
- java+spring+mysql配置_JAVA后台搭建(springboot+mybatis+mysql)项目搭建
前言 上篇文章写了基本环境配置的搭建,接下来我们需要搭建项目了,项目搭建使用的IDEA,springboot项目的搭建非常快只需要几分钟,然后介绍MyBatis以及MySql的基本配置以及项目的Hel ...
- 搭建springboot+mybatis+freemarker项目
1. 创建springboot web项目 先创建一个项目 选择maven项目,先什么都不勾,直接点击next groupid和artifactid可以随便填,然后点击next 点击finish fi ...
- 从零开始快速搭建SpringBoot+Mybatis+小程序应用--微信小程序的入门和前后端的联调
目录 项目介绍 vx小程序简介 VX开发工具介绍 列表页开发 list的编写 列表页前后端联调 信息编辑页开发 operation的编写 区域信息编辑页的联调 项目介绍 从0搭建后端的Springbo ...
- python国际象棋ai程序_只需五步!手把手教你搭建国际象棋AI机器人
王新民 编译 量子位 报道 | 公众号 QbitAI 要创建一个简单的象棋AI,我们在开始编程之前要先了解四个基本的概念:移动生成.棋局评估.最大最小搜索和α-β剪枝搜索过程. 在每个步骤中,我们将会 ...
- 手把手教你搭建springboot程序
spring-boot项目搭建 一.从官网搭建 1.进入spring官网,快速初始化一个项目 2.填写项目基本信息 3.项目结构分析 4.添加项目依赖 5.下载到本地 6.解压 7.idea,打开,使 ...
- 手把手教你搭建SpringBoot+MySQL+Mybatis项目(采坑日记)
项目地址: GitHUb:https://github.com/China-Ma/happyfoal Gitee:https://gitee.com/China-Ma/happyfoal 1. 创建项 ...
- MyEclipse中搭建spring-boot+mybatis+freemarker框架
1.在MyEclipse里创建一个maven项目.File>New>Maven Project: 勾选图中红色部分,然后点击Next. 2.填写下图中红色部分然后点击Finish. 3.此 ...
- mysql test 映射到实体_从零搭建SpringBoot+MyBatis+MySQL工程
目录 创建工程 了解MVC模型 属性配置文件.yml springboot里的数据库布局 创建包 创建数据表 创建实体类DAO(model) 创建mapper 语句直接写在class中(全注解方式) ...
最新文章
- Linux C编程--网络编程2--面向连接的网络编程
- PhantomJS快速入门教程(转)
- 【BIM入门实战】Revit入门基础知识选择题带答案解析(116题)
- 训练残骸模式– Java 8中的改进实现
- jdbc执行sql 不支持“variant”数据类型。
- Linux能ping主机,但ping不了网关以及外网,显示包全丢失解决方案
- 专有网络、云产品、路由器和交换机
- HDU-2544-最短路(floyd)
- 3DLC系列之:2D 曲线面板
- 数字光电耦合器为汽车应用提供低功耗和高隔离
- Android P 音频焦点管理
- JWT全面解读、使用步骤
- 易虎再谈网站被恶意刷流量和防恶意点击的解决思路
- Docker Engine 安装时遇到的坑
- SpringBoot 集成 WebSocket 实现消息群发推送
- 深度学习下运维日志分析的趋势解读与应用实践
- Docker搭建持续集成平台jira
- Android 源码刷机版本号、支持设备对照表(AOSP )
- 科目二 领线30cm 修方向 示意图 LTS
- dedecmsmip_织梦MIP响应式企业通用模板