项目结构概览

pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <!-- springboot依赖的父类 -->
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>1.5.2.RELEASE</version>
  9. </parent>
  10.  
  11. <!-- 项目骨架 -->
  12. <groupId>com.pupeiyuan</groupId>
  13. <artifactId>ssm-springboot</artifactId>
  14. <version>0.0.1-SNAPSHOT</version>
  15. <packaging>war</packaging>
  16.  
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->
  20. <java.version>1.8</java.version>
  21. </properties>
  22. <dependencies>
  23. <!-- 单元测试 -->
  24. <dependency>
  25. <groupId>junit</groupId>
  26. <artifactId>junit</artifactId>
  27. <scope>test</scope>
  28. </dependency>
  29. <!-- 支持springWEB web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、aop ........ -->
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-web</artifactId>
  33. </dependency>
  34. <!-- jdbc -->
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-jdbc</artifactId>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework.boot</groupId>
  41. <artifactId>spring-boot-starter-jdbc</artifactId>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.springframework.boot</groupId>
  45. <artifactId>spring-boot-starter-tomcat</artifactId>
  46. <scope>provided</scope>
  47. </dependency>
  48.  
  49. <!-- Mybatis -->
  50. <dependency>
  51. <groupId>org.mybatis.spring.boot</groupId>
  52. <artifactId>mybatis-spring-boot-starter</artifactId>
  53. <version>1.3.1</version>
  54. </dependency>
  55. <!-- 通用Mapper -->
  56. <dependency>
  57. <groupId>tk.mybatis</groupId>
  58. <artifactId>mapper-spring-boot-starter</artifactId>
  59. <version>RELEASE</version>
  60. </dependency>
  61. <!-- 分页助手 -->
  62. <dependency>
  63. <groupId>com.github.pagehelper</groupId>
  64. <artifactId>pagehelper-spring-boot-starter</artifactId>
  65. <version>1.1.0</version>
  66. </dependency>
  67. <dependency>
  68. <groupId>com.github.jsqlparser</groupId>
  69. <artifactId>jsqlparser</artifactId>
  70. <version>0.9.1</version>
  71. </dependency>
  72.  
  73. <!-- mysql 数据库驱动. -->
  74. <dependency>
  75. <groupId>mysql</groupId>
  76. <artifactId>mysql-connector-java</artifactId>
  77. </dependency>
  78. <!-- 连接池 -->
  79. <dependency>
  80. <groupId>com.alibaba</groupId>
  81. <artifactId>druid-spring-boot-starter</artifactId>
  82. <version>1.1.9</version>
  83. </dependency>
  84. <!-- jstl -->
  85. <dependency>
  86. <groupId>jstl</groupId>
  87. <artifactId>jstl</artifactId>
  88. <version>1.2</version>
  89. </dependency>
  90. <dependency>
  91. <groupId>taglibs</groupId>
  92. <artifactId>standard</artifactId>
  93. <version>1.1.2</version>
  94. </dependency>
  95. <!-- JSP相关 -->
  96. <dependency>
  97. <groupId>com.github.jsqlparser</groupId>
  98. <artifactId>jsqlparser</artifactId>
  99. <version>0.9.1</version>
  100. </dependency>
  101. <dependency>
  102. <groupId>org.apache.tomcat.embed</groupId>
  103. <artifactId>tomcat-embed-jasper</artifactId>
  104. <scope>provided</scope>
  105. </dependency>
  106. <!-- httpclient -->
  107. <dependency>
  108. <groupId>org.apache.httpcomponents</groupId>
  109. <artifactId>httpclient</artifactId>
  110. </dependency>
  111. </dependencies>
  112.  
  113. <build>
  114. <plugins>
  115. <!-- java编译插件 -->
  116. <plugin>
  117. <groupId>org.apache.maven.plugins</groupId>
  118. <artifactId>maven-compiler-plugin</artifactId>
  119. <configuration>
  120. <source>1.7</source>
  121. <target>1.7</target>
  122. <encoding>UTF-8</encoding>
  123. </configuration>
  124. </plugin>
  125. <plugin>
  126. <groupId>org.springframework.boot</groupId>
  127. <artifactId>spring-boot-maven-plugin</artifactId>
  128. </plugin>
  129. </plugins>
  130. </build>
  131. </project>

application.properties

  1. spring.profiles.active=test

application-test.properties

  1. #datasource -- mysql
  2. jdbc.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
  3. jdbc.username=root
  4. jdbc.password=pypua
  5. jdbc.driverClassName=com.mysql.jdbc.Driver
  6. jdbc.InitialSize=10
  7. jdbc.MinIdle=10
  8. jdbc.MaxActive=100
  9.  
  10. #Tomcat
  11. server.port=8082
  12. server.servlet-path=/
  13.  
  14. #log4j
  15. #logging.level.org.springframework=DEBUG
  16.  
  17. #SpringMVC
  18. spring.mvc.view.prefix=/WEB-INF/views/
  19. spring.mvc.view.suffix=.jsp
  20.  
  21. #mybatis && Mapper
  22. mybatis.configuration.mapUnderscoreToCamelCase=true
  23. mapper.mappers=com.karle.tk.TkMapper
  24. mapper.identity=MYSQL
  25.  
  26. #banner
  27. banner.charset= UTF-8
  28.  
  29. #jsp
  30. server.jsp-servlet.init-parameters.development=true
  31.  
  32. # pagehelper properties
  33. pagehelper.offsetAsPageNum=true
  34. pagehelper.rowBoundsWithCount=true
  35. pagehelper.pageSizeZero=true
  36. pagehelper.reasonable=false
  37. pagehelper.params=pageNum=pageHelperStart;pageSize=pageHelperRows;
  38. pagehelper.supportMethodsArguments=false

main.java

  1. package com.pupeiyuan;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
  6. import com.pupeiyuan.config.MainApplication;
  7.  
  8. /**
  9. * Springboot启动类
  10. * @author Administrator
  11. *
  12. */
  13.  
  14. public class main {
  15.  
  16. public static void main(String[] args) {
  17. SpringApplication.run(MainApplication.class, args);
  18. }
  19. }

MainApplication.java

  1. package com.pupeiyuan.config;
  2.  
  3. import java.sql.SQLException;
  4.  
  5. import javax.sql.DataSource;
  6.  
  7. import org.springframework.beans.factory.annotation.Value;
  8. import org.springframework.boot.autoconfigure.SpringBootApplication;
  9. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  10. import org.springframework.boot.builder.SpringApplicationBuilder;
  11. import org.springframework.boot.web.support.SpringBootServletInitializer;
  12. import org.springframework.context.annotation.Bean;
  13. import org.springframework.context.annotation.ComponentScan;
  14. import org.springframework.context.annotation.Configuration;
  15. import com.alibaba.druid.pool.DruidDataSource;
  16.  
  17. @Configuration
  18. //扫描bean
  19. @ComponentScan(basePackages = "com.pupeiyuan.*")
  20. //不用自动配置数据源
  21. @SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
  22. public class MainApplication extends SpringBootServletInitializer {
  23.  
  24. @Value("${jdbc.url}")
  25. private String jdbcUrl;
  26.  
  27. @Value("${jdbc.driverClassName}")
  28. private String jdbcDriverClassName;
  29.  
  30. @Value("${jdbc.username}")
  31. private String jdbcUsername;
  32.  
  33. @Value("${jdbc.password}")
  34. private String jdbcPassword;
  35.  
  36. @Value("${jdbc.InitialSize}")
  37. private int InitialSize;
  38.  
  39. @Value("${jdbc.MinIdle}")
  40. private int MinIdle;
  41.  
  42. @Value("${jdbc.MaxActive}")
  43. private int MaxActive;
  44.  
  45. @Bean(destroyMethod = "close")
  46. public DataSource dataSource() {
  47. // BoneCPDataSource boneCPDataSource = new BoneCPDataSource();
  48. DruidDataSource druidDataSource = new DruidDataSource();
  49. // 数据库驱动
  50. druidDataSource.setDriverClassName(jdbcDriverClassName);
  51. // 相应驱动的jdbcUrl
  52. druidDataSource.setUrl(jdbcUrl);
  53. // 数据库的用户名
  54. druidDataSource.setUsername(jdbcUsername);
  55. // 数据库的密码
  56. druidDataSource.setPassword(jdbcPassword);
  57. // 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0
  58. // 初始化时建立物理连接的个数
  59. druidDataSource.setInitialSize(InitialSize);
  60. // 最小连接池数量
  61. druidDataSource.setMinIdle(MinIdle);
  62. // 最大连接池数量
  63. druidDataSource.setMaxActive(MaxActive);
  64.  
  65. //配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
  66. try {
  67. druidDataSource.setFilters("stat,wall,log4j");
  68. } catch (SQLException e) {
  69. // TODO Auto-generated catch block
  70. e.printStackTrace();
  71. }
  72.  
  73. // 通过connectProperties属性来打开mergeSql功能;慢SQL记录
  74. druidDataSource.setConnectionProperties("druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000");
  75. //合并多个DruidDataSource的监控数据
  76. druidDataSource.setUseGlobalDataSourceStat(true);
  77. return druidDataSource;
  78. }
  79.  
  80. @Override
  81. protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  82. return builder.sources(MainApplication.class);
  83. }
  84. }

MybatisConfig.java

  1. package com.pupeiyuan.config;
  2.  
  3. import java.util.Properties;
  4.  
  5. import javax.sql.DataSource;
  6.  
  7. import org.mybatis.spring.SqlSessionFactoryBean;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.core.annotation.Order;
  13. import org.springframework.core.io.Resource;
  14. import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  15. import org.springframework.core.io.support.ResourcePatternResolver;
  16.  
  17. import com.github.pagehelper.PageHelper;
  18.  
  19. import tk.mybatis.spring.annotation.MapperScan;
  20. import tk.mybatis.spring.mapper.MapperScannerConfigurer;
  21.  
  22. @Configuration
  23. @MapperScan("com.pupeiyuan.mapper")
  24. public class MyBatisConfig {
  25.  
  26. @Autowired
  27. private DataSource dataSource;
  28.  
  29. @Bean
  30. @ConditionalOnMissingBean // 当容器里没有指定的Bean的情况下创建该对象
  31. public SqlSessionFactoryBean sqlSessionFactoryBean() {
  32. SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
  33. // 设置数据源
  34. sqlSessionFactoryBean.setDataSource(dataSource);
  35. // 设置别名包
  36. sqlSessionFactoryBean.setTypeAliasesPackage("com.pupeiyuan.bean");
  37.  
  38. return sqlSessionFactoryBean;
  39. }
  40.  
  41. }

SpringMVCConfig.java

  1. package com.pupeiyuan.config;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  6. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  7. import com.pupeiyuan.interceptors.IsLoginHandlerInterceptor;
  8.  
  9. @Configuration
  10. public class SpringMVCConfig extends WebMvcConfigurerAdapter{
  11.  
  12. @Autowired
  13. private IsLoginHandlerInterceptor isLoginHandlerInterceptor;
  14.  
  15. @Override
  16. public void addInterceptors(InterceptorRegistry registry) {
  17. // 判断用户是否登录的拦截器
  18. registry.addInterceptor(isLoginHandlerInterceptor).addPathPatterns("/burket/**");
  19. }
  20. }

DruidConfiguration.java

  1. package com.pupeiyuan.config;
  2.  
  3. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  4. import org.springframework.boot.web.servlet.ServletRegistrationBean;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7.  
  8. import com.alibaba.druid.support.http.StatViewServlet;
  9. import com.alibaba.druid.support.http.WebStatFilter;
  10.  
  11. @Configuration
  12. public class DruidConfiguration {
  13.  
  14. /**
  15. * 注册一个StatViewServlet
  16. *
  17. * @return
  18. */
  19. @Bean
  20. public ServletRegistrationBean DruidStatViewServle2() {
  21. // org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
  22. ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
  23. "/druid/*");
  24. // 添加初始化参数:initParams
  25. // 白名单:
  26. servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
  27. // IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not
  28. // permitted to view this page.
  29. servletRegistrationBean.addInitParameter("deny", "192.168.1.73");
  30. // 登录查看信息的账号密码.
  31. servletRegistrationBean.addInitParameter("loginUsername", "admin");
  32. servletRegistrationBean.addInitParameter("loginPassword", "123456");
  33. // 是否能够重置数据.
  34. servletRegistrationBean.addInitParameter("resetEnable", "false");
  35. return servletRegistrationBean;
  36. }
  37.  
  38. /**
  39. * 注册一个:filterRegistrationBean
  40. *
  41. * @return
  42. */
  43. @Bean
  44. public FilterRegistrationBean druidStatFilter2() {
  45. FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
  46. // 添加过滤规则.
  47. filterRegistrationBean.addUrlPatterns("/*");
  48. // 添加不需要忽略的格式信息.
  49. filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
  50. return filterRegistrationBean;
  51. }
  52.  
  53. }

springboot+mybatis+springMVC基础框架搭建的更多相关文章

  1. springboot+mybatis+druid+atomikos框架搭建及测试

    前言 因为最近公司项目升级,需要将外网数据库的信息导入到内网数据库内.于是找了一些springboot多数据源的文章来看,同时也亲自动手实践.可是过程中也踩了不少的坑,主要原因是我看的文章大部分都是s ...

  2. springMVC基础框架搭建

    1.导入springMVC相关jar包: 2.添加Web.xml配置文件中关于SpringMVC的配置 <servlet> <servlet-name>springmvc< ...

  3. Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...

  4. 【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...

  5. 整合springboot(app后台框架搭建四)

    springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...

  6. SpringBoot+Mybatis多模块项目搭建教程

    一.前言 框架为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 1.开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系 ...

  7. springboot+mybatis+springmvc整合实例

    以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...

  8. spring+mybatis+mina+logback框架搭建

    第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...

  9. LayIM.AspNetCore Middleware 开发日记(三)基础框架搭建

    前言 在上一篇中简单讲了一些基础知识,例如Asp.Net Core Middleware 的使用,DI的简单使用以及嵌入式资源的使用方法等.本篇就是结合基础知识来构建一个基础框架出来. 那么框架有什么 ...

随机推荐

  1. openstack Q版部署-----Mysql、MQ、Memcached安装配置(2)

    一.安装mysql(contorller) 安装软件包: yum install -y mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 vi /et ...

  2. Struts2学习(二)

    1.Struts2的Servlet的API的访问 1.1   完全解耦合的方式 ActionContext context = ActionContext.getContext( ); 通过conte ...

  3. 深入理解JVM - 1 - Java内存区域划分

    作者:梦工厂链接:https://www.jianshu.com/p/7ebbe102c1ae来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处. Java与C++之间有一堵 ...

  4. 【转】Python基础-封装与扩展、静态方法和类方法

    [转]Python基础-封装与扩展.静态方法和类方法 一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数 ...

  5. Class的isAssignableFrom方法

    Class类的isAssignableFrom是个不常用的方法,感觉这个方法的名字取得不是很好,所以有必要在此解析一下,以免在看源码时产生歧义,这个方法的签名如下: public native boo ...

  6. C#操作剪贴板实现复制粘贴

    //粘贴 private void tsbPaste_Click(object sender, EventArgs e) { IDataObject iData = Clipboard.GetData ...

  7. dmp文件的导入导出

    一.dmp文件的导入 方法一(需安装PLSQL) 1.运行PLSQL,在oracle登陆窗口输入用户名和密码登陆到数据库 2.运行工具>导入表,弹出导入对话框 3.单击下方选择文件按钮,在弹出对 ...

  8. http与中文编码传输

    分类: http网络及RFC2012-08-12 15:01 3716人阅读 评论(0) 收藏 举报 urljavascript工具pythonimportjsp 关于http的RFC文档:http: ...

  9. Ubuntu16下apache2安装ssl阿里云证书

    1.用下面的命令确保ssl模块已经加载进apache: a2enmod ssl 如果你看到了“Module ssl already enabled”这样的信息就说明你成功了,如果你看到了“Enabli ...

  10. Spring+Hibernate 多数据源不同事务创建

    环境:Spring 3.0 ,Hibernate 3.5 ,同类型数据库(DB2) 编前语:此片仅粗略的描述使用Spring和Hibernate采用注入方式管理多数据源在不同事务的情况下使用的方法. ...