站点工具


服务器技术:微服务:基于maven的springboot_mybatis_druid_swagger2_mybatis-generator框架环境搭建

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
服务器技术:微服务:基于maven的springboot_mybatis_druid_swagger2_mybatis-generator框架环境搭建 [2018/06/14 16:47]
admin 创建
服务器技术:微服务:基于maven的springboot_mybatis_druid_swagger2_mybatis-generator框架环境搭建 [2018/09/10 18:02] (当前版本)
行 1: 行 1:
-<h4 style="">​前言</​h4><​p style="">​最近做回后台开发,重新抓起以前学过的SSM(Spring+Spring ​+<h4 style="">​来自:<​a href="​https://​blog.csdn.net/​chajinglong/​article/​details/​52795674"​ target="​_blank">​https://​blog.csdn.net/​chajinglong/​article/​details/​52795674</​a></​h4>​<h4 style="">​前言</​h4><​p style="">​最近做回后台开发,重新抓起以前学过的SSM(Spring+Spring ​
 MVC+Mybatis),但是发现配置实在过于复杂,好多东西配置起来麻烦,虽然最终是配置出来了,但是还是感觉开发速度跟不上,本来打算切换到jfianl,但是后来发现需要用的几个框架不支持jfianl,如Swagger2(根据代码中的注解生成接口文档和测试页面,非常的方便);同时我也不愿意放弃SpringMVC强大的验证参数模块,jfianl中好像只能手动验证(当然我对jfianl只处于简单的开发,并不是特别熟),而SpringMVC中,直接就能通过注解来确定哪些参数是必须的,哪些不是必须的,这对于写接口的人来说,方便了很多,所以决定还是使用Spring家族的东西,下面先一一介绍下本文的主角们</​p><​h5 style=""><​a target="​_blank"​ href="​http://​projects.spring.io/​spring-boot/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Spring boot</​a></​h5><​p style="">​spring-boot是由<​a target="​_blank"​ href="​https://​pivotal.io/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Pivotal</​a>​团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application MVC+Mybatis),但是发现配置实在过于复杂,好多东西配置起来麻烦,虽然最终是配置出来了,但是还是感觉开发速度跟不上,本来打算切换到jfianl,但是后来发现需要用的几个框架不支持jfianl,如Swagger2(根据代码中的注解生成接口文档和测试页面,非常的方便);同时我也不愿意放弃SpringMVC强大的验证参数模块,jfianl中好像只能手动验证(当然我对jfianl只处于简单的开发,并不是特别熟),而SpringMVC中,直接就能通过注解来确定哪些参数是必须的,哪些不是必须的,这对于写接口的人来说,方便了很多,所以决定还是使用Spring家族的东西,下面先一一介绍下本文的主角们</​p><​h5 style=""><​a target="​_blank"​ href="​http://​projects.spring.io/​spring-boot/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Spring boot</​a></​h5><​p style="">​spring-boot是由<​a target="​_blank"​ href="​https://​pivotal.io/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Pivotal</​a>​团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application
  ​development)成为领导者</​p><​p style="">​多年以来,<​a target="​_blank"​ href="​http://​spring.io/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Spring IO</​a>​平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理。在2013年的<​a target="​_blank"​ href="​https://​www.youtube.com/​watch?​v=jplkJIHPGos"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​SpringOne  ​development)成为领导者</​p><​p style="">​多年以来,<​a target="​_blank"​ href="​http://​spring.io/"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​Spring IO</​a>​平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理。在2013年的<​a target="​_blank"​ href="​https://​www.youtube.com/​watch?​v=jplkJIHPGos"​ style="​color:​rgb(74,​74,​74);​ background:​transparent">​SpringOne
行 56: 行 56:
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;​artifactId&​gt;&​nbsp;​mysql-connector-java&​lt;/​artifactId&​gt;​ &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;​artifactId&​gt;&​nbsp;​mysql-connector-java&​lt;/​artifactId&​gt;​
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;​version&​gt;&​nbsp;​5.0.5&​lt;/​version&​gt;​ &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;​version&​gt;&​nbsp;​5.0.5&​lt;/​version&​gt;​
-&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;/​dependency&​gt;</​pre><​p style="">​其中spring-boot-devtools不是必须,只是如果你想在运行的时候,修改了代码能自动更新,而不用手动重启,就需要加上</​p><​h5 style="">​三、添加Applcation类</​h5><​p style="">​这个就是程序的入口类了,代码如下</​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot;​import&​nbsp;​org.mybatis.spring.annotation.MapperScan;​import&​nbsp;​org.springframework.boot.SpringApplication;​import&​nbsp;​org.springframework.boot.autoconfigure.SpringBootApplication;​import&​nbsp;​org.springframework.boot.web.servlet.ServletComponentScan;​import&​nbsp;​org.springframework.boot.web.support.SpringBootServletInitializer;/​**+&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​lt;/​dependency&​gt;</​pre><​p style="">​其中spring-boot-devtools不是必须,只是如果你想在运行的时候,修改了代码能自动更新,而不用手动重启,就需要加上</​p><​h5 style="">​三、添加Applcation类</​h5><​p style="">​这个就是程序的入口类了,代码如下</​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot;​ 
 +import&​nbsp;​org.mybatis.spring.annotation.MapperScan;​ 
 +import&​nbsp;​org.springframework.boot.SpringApplication;​ 
 +import&​nbsp;​org.springframework.boot.autoconfigure.SpringBootApplication;​ 
 +import&​nbsp;​org.springframework.boot.web.servlet.ServletComponentScan;​ 
 +import&​nbsp;​org.springframework.boot.web.support.SpringBootServletInitializer;​ 
 +/**
 &nbsp;* &nbsp;*
 &nbsp;* &nbsp;*
行 92: 行 98:
  
  
-debug:&​nbsp;​true</​pre><​p style="">​相信这个文件很容易看懂,首先server:​下面的port:​80这个是定义了运行的端口,之前说过spring boot内置了tomcat服务器,所以如果要使用内置的tomcat并且不想用8080端口,就需要在这里配置</​p><​p style="">​下面就是datasource的配置,这样不写进代码有个好处,那就是如果是给客户用的程序,可以很方便的修改数据库配置,而不用重新编译,当然如果你是打包jar我估计是要重新编译的,如果是war,那么就可以解压出来直接修改application.yml而不用重新编译了</​p><​p style="">​而debug:true就是说明当时是调试状态,这样就会输出很多log</​p><​h5 style="">​五、创建Druid数据源配置类</​h5><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​import&​nbsp;​java.sql.SQLException;​import&​nbsp;​javax.sql.DataSource;​import&​nbsp;​org.springframework.boot.bind.RelaxedPropertyResolver;​import&​nbsp;​org.springframework.context.EnvironmentAware;​import&​nbsp;​org.springframework.context.annotation.Bean;​import&​nbsp;​org.springframework.context.annotation.Configuration;​import&​nbsp;​org.springframework.core.env.Environment;​import&​nbsp;​org.springframework.transaction.annotation.EnableTransactionManagement;​import&​nbsp;​com.alibaba.druid.pool.DruidDataSource;​@Configuration@EnableTransactionManagement/​**+debug:&​nbsp;​true</​pre><​p style="">​相信这个文件很容易看懂,首先server:​下面的port:​80这个是定义了运行的端口,之前说过spring boot内置了tomcat服务器,所以如果要使用内置的tomcat并且不想用8080端口,就需要在这里配置</​p><​p style="">​下面就是datasource的配置,这样不写进代码有个好处,那就是如果是给客户用的程序,可以很方便的修改数据库配置,而不用重新编译,当然如果你是打包jar我估计是要重新编译的,如果是war,那么就可以解压出来直接修改application.yml而不用重新编译了</​p><​p style="">​而debug:true就是说明当时是调试状态,这样就会输出很多log</​p><​h5 style="">​五、创建Druid数据源配置类</​h5><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​import&​nbsp;​java.sql.SQLException;​ 
 +import&​nbsp;​javax.sql.DataSource;​import&​nbsp;​org.springframework.boot.bind.RelaxedPropertyResolver;​ 
 +import&​nbsp;​org.springframework.context.EnvironmentAware;​ 
 +import&​nbsp;​org.springframework.context.annotation.Bean;​ 
 +import&​nbsp;​org.springframework.context.annotation.Configuration;​ 
 +import&​nbsp;​org.springframework.core.env.Environment;​ 
 +import&​nbsp;​org.springframework.transaction.annotation.EnableTransactionManagement;​ 
 +import&​nbsp;​com.alibaba.druid.pool.DruidDataSource;​@Configuration@EnableTransactionManagement 
 +/**
 &​nbsp;​*&​nbsp;​Druid的DataResource配置类 &​nbsp;​*&​nbsp;​Druid的DataResource配置类
 &​nbsp;​*&​nbsp;​@author&​nbsp;​Raye &​nbsp;​*&​nbsp;​@author&​nbsp;​Raye
行 123: 行 137:
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​} &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​}
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​return&​nbsp;​datasource;​ &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​return&​nbsp;​datasource;​
-&​nbsp;&​nbsp;&​nbsp;&​nbsp;​}}</​pre><​p style="">​主要是创建一个druid的DruidDataSource 返回并告诉spring boot这是一个bean</​p><​h5 style="">​六、创建Druid的监控servlet和filter</​h5><​p style=""><​span style="​font-weight:​700">​创建监控Servlet</​span></​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​import&​nbsp;​javax.servlet.annotation.WebInitParam;​import&​nbsp;​javax.servlet.annotation.WebServlet;​import&​nbsp;​com.alibaba.druid.support.http.StatViewServlet;/​**+&​nbsp;&​nbsp;&​nbsp;&​nbsp;​}}</​pre><​p style="">​主要是创建一个druid的DruidDataSource 返回并告诉spring boot这是一个bean</​p><​h5 style="">​六、创建Druid的监控servlet和filter</​h5><​p style=""><​span style="​font-weight:​700">​创建监控Servlet</​span></​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​ 
 +import&​nbsp;​javax.servlet.annotation.WebInitParam;​ 
 +import&​nbsp;​javax.servlet.annotation.WebServlet;​ 
 +import&​nbsp;​com.alibaba.druid.support.http.StatViewServlet;​ 
 +/**
 &​nbsp;​*&​nbsp;​Druid的Servlet &​nbsp;​*&​nbsp;​Druid的Servlet
 &​nbsp;​*&​nbsp;​@author&​nbsp;​Raye &​nbsp;​*&​nbsp;​@author&​nbsp;​Raye
行 132: 行 150:
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​loginUsername&​quot;,​value=&​quot;​Raye&​quot;​),//&​nbsp;​用户名 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​loginUsername&​quot;,​value=&​quot;​Raye&​quot;​),//&​nbsp;​用户名
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​loginPassword&​quot;,​value=&​quot;​123456&​quot;​),//&​nbsp;​密码 &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​loginPassword&​quot;,​value=&​quot;​123456&​quot;​),//&​nbsp;​密码
-&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​resetEnable&​quot;,​value=&​quot;​false&​quot;​)//&​nbsp;​禁用HTML页面上的“Reset&​nbsp;​All”功能})public&​nbsp;​class&​nbsp;​DruidStatViewServlet&​nbsp;​extends&​nbsp;​StatViewServlet&​nbsp;​{}</​pre><​p style=""><​span style="​font-weight:​700">​@WebServlet</​span>​表明这是一个Servlet,和之前Application中的@ServletComponentScan相对应使用&​nbsp;<​span style="​font-weight:​700">​创建filter</​span></​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​import&​nbsp;​javax.servlet.annotation.WebFilter;​import&​nbsp;​javax.servlet.annotation.WebInitParam;​import&​nbsp;​com.alibaba.druid.support.http.WebStatFilter;​@WebFilter(filterName=&​quot;​druidWebStatFilter&​quot;,​urlPatterns=&​quot;/​*&​quot;,​initParams={+&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​resetEnable&​quot;,​value=&​quot;​false&​quot;​)//&​nbsp;​禁用HTML页面上的“Reset&​nbsp;​All”功能}) 
 +&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​public&​nbsp;​class&​nbsp;​DruidStatViewServlet&​nbsp;​extends&​nbsp;​StatViewServlet&​nbsp;​{}</​pre><​p style=""><​span style="​font-weight:​700">​@WebServlet</​span>​表明这是一个Servlet,和之前Application中的@ServletComponentScan相对应使用&​nbsp;<​span style="​font-weight:​700">​创建filter</​span></​p><​p>​Java</​p><​pre class="​ language-java"​ style="​font-family:​Consolas,​Monaco,&#​39;​Andale Mono&#​39;,&#​39;​Ubuntu Mono&#​39;,​monospace;​ font-size:​0.9em;​ margin-top:​0.5em;​ margin-bottom:​0.5em;​ border:1px solid rgb(227,​237,​243);​ width:​1178px;​ padding:​1em;​ overflow:​auto;​ color:​rgb(248,​248,​242);​ word-spacing:​normal;​ word-break:​normal;​ word-wrap:​normal;​ line-height:​1.5;​ background:​rgb(39,​40,​34)">​package&​nbsp;​wang.raye.springboot.config;​import&​nbsp;​javax.servlet.annotation.WebFilter;​import&​nbsp;​javax.servlet.annotation.WebInitParam;​import&​nbsp;​com.alibaba.druid.support.http.WebStatFilter;​@WebFilter(filterName=&​quot;​druidWebStatFilter&​quot;,​urlPatterns=&​quot;/​*&​quot;,​initParams={
 &​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​exclusions&​quot;,​value=&​quot;​*.js,​*.gif,​*.jpg,​*.bmp,​*.png,​*.css,​*.ico,/​druid/​*&​quot;​)//&​nbsp;​忽略资源})/​** &​nbsp;&​nbsp;&​nbsp;&​nbsp;​@WebInitParam(name=&​quot;​exclusions&​quot;,​value=&​quot;​*.js,​*.gif,​*.jpg,​*.bmp,​*.png,​*.css,​*.ico,/​druid/​*&​quot;​)//&​nbsp;​忽略资源})/​**
 &​nbsp;​*&​nbsp;​Druid拦截器,用于查看Druid监控&​nbsp;​*&​nbsp;​@author&​nbsp;​Raye&​nbsp;​*&​nbsp;​@since&​nbsp;​2016年10月7日14:​59:​27 &​nbsp;​*&​nbsp;​Druid拦截器,用于查看Druid监控&​nbsp;​*&​nbsp;​@author&​nbsp;​Raye&​nbsp;​*&​nbsp;​@since&​nbsp;​2016年10月7日14:​59:​27
服务器技术/微服务/基于maven的springboot_mybatis_druid_swagger2_mybatis-generator框架环境搭建.1528966057.txt.gz · 最后更改: 2018/09/10 18:01 (外部编辑)