springboot+mybatis+springMVC基础框架搭建
项目结构概览
pom.xml
- <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>
- <!-- springboot依赖的父类 -->
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.5.2.RELEASE</version>
- </parent>
- <!-- 项目骨架 -->
- <groupId>com.pupeiyuan</groupId>
- <artifactId>ssm-springboot</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>war</packaging>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->
- <java.version>1.8</java.version>
- </properties>
- <dependencies>
- <!-- 单元测试 -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <!-- 支持springWEB web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、aop ........ -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <!-- jdbc -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <scope>provided</scope>
- </dependency>
- <!-- Mybatis -->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>1.3.1</version>
- </dependency>
- <!-- 通用Mapper -->
- <dependency>
- <groupId>tk.mybatis</groupId>
- <artifactId>mapper-spring-boot-starter</artifactId>
- <version>RELEASE</version>
- </dependency>
- <!-- 分页助手 -->
- <dependency>
- <groupId>com.github.pagehelper</groupId>
- <artifactId>pagehelper-spring-boot-starter</artifactId>
- <version>1.1.0</version>
- </dependency>
- <dependency>
- <groupId>com.github.jsqlparser</groupId>
- <artifactId>jsqlparser</artifactId>
- <version>0.9.1</version>
- </dependency>
- <!-- mysql 数据库驱动. -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
- <!-- 连接池 -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid-spring-boot-starter</artifactId>
- <version>1.1.9</version>
- </dependency>
- <!-- jstl -->
- <dependency>
- <groupId>jstl</groupId>
- <artifactId>jstl</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- <version>1.1.2</version>
- </dependency>
- <!-- JSP相关 -->
- <dependency>
- <groupId>com.github.jsqlparser</groupId>
- <artifactId>jsqlparser</artifactId>
- <version>0.9.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-jasper</artifactId>
- <scope>provided</scope>
- </dependency>
- <!-- httpclient -->
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <!-- java编译插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </project>
application.properties
- spring.profiles.active=test
application-test.properties
- #datasource -- mysql
- jdbc.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
- jdbc.username=root
- jdbc.password=pypua
- jdbc.driverClassName=com.mysql.jdbc.Driver
- jdbc.InitialSize=10
- jdbc.MinIdle=10
- jdbc.MaxActive=100
- #Tomcat
- server.port=8082
- server.servlet-path=/
- #log4j
- #logging.level.org.springframework=DEBUG
- #SpringMVC
- spring.mvc.view.prefix=/WEB-INF/views/
- spring.mvc.view.suffix=.jsp
- #mybatis && Mapper
- mybatis.configuration.mapUnderscoreToCamelCase=true
- mapper.mappers=com.karle.tk.TkMapper
- mapper.identity=MYSQL
- #banner
- banner.charset= UTF-8
- #jsp
- server.jsp-servlet.init-parameters.development=true
- # pagehelper properties
- pagehelper.offsetAsPageNum=true
- pagehelper.rowBoundsWithCount=true
- pagehelper.pageSizeZero=true
- pagehelper.reasonable=false
- pagehelper.params=pageNum=pageHelperStart;pageSize=pageHelperRows;
- pagehelper.supportMethodsArguments=false
main.java
- package com.pupeiyuan;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import com.pupeiyuan.config.MainApplication;
- /**
- * Springboot启动类
- * @author Administrator
- *
- */
- public class main {
- public static void main(String[] args) {
- SpringApplication.run(MainApplication.class, args);
- }
- }
MainApplication.java
- package com.pupeiyuan.config;
- import java.sql.SQLException;
- import javax.sql.DataSource;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
- import org.springframework.boot.builder.SpringApplicationBuilder;
- import org.springframework.boot.web.support.SpringBootServletInitializer;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.ComponentScan;
- import org.springframework.context.annotation.Configuration;
- import com.alibaba.druid.pool.DruidDataSource;
- @Configuration
- //扫描bean
- @ComponentScan(basePackages = "com.pupeiyuan.*")
- //不用自动配置数据源
- @SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
- public class MainApplication extends SpringBootServletInitializer {
- @Value("${jdbc.url}")
- private String jdbcUrl;
- @Value("${jdbc.driverClassName}")
- private String jdbcDriverClassName;
- @Value("${jdbc.username}")
- private String jdbcUsername;
- @Value("${jdbc.password}")
- private String jdbcPassword;
- @Value("${jdbc.InitialSize}")
- private int InitialSize;
- @Value("${jdbc.MinIdle}")
- private int MinIdle;
- @Value("${jdbc.MaxActive}")
- private int MaxActive;
- @Bean(destroyMethod = "close")
- public DataSource dataSource() {
- // BoneCPDataSource boneCPDataSource = new BoneCPDataSource();
- DruidDataSource druidDataSource = new DruidDataSource();
- // 数据库驱动
- druidDataSource.setDriverClassName(jdbcDriverClassName);
- // 相应驱动的jdbcUrl
- druidDataSource.setUrl(jdbcUrl);
- // 数据库的用户名
- druidDataSource.setUsername(jdbcUsername);
- // 数据库的密码
- druidDataSource.setPassword(jdbcPassword);
- // 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0
- // 初始化时建立物理连接的个数
- druidDataSource.setInitialSize(InitialSize);
- // 最小连接池数量
- druidDataSource.setMinIdle(MinIdle);
- // 最大连接池数量
- druidDataSource.setMaxActive(MaxActive);
- //配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
- try {
- druidDataSource.setFilters("stat,wall,log4j");
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // 通过connectProperties属性来打开mergeSql功能;慢SQL记录
- druidDataSource.setConnectionProperties("druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000");
- //合并多个DruidDataSource的监控数据
- druidDataSource.setUseGlobalDataSourceStat(true);
- return druidDataSource;
- }
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
- return builder.sources(MainApplication.class);
- }
- }
MybatisConfig.java
- package com.pupeiyuan.config;
- import java.util.Properties;
- import javax.sql.DataSource;
- import org.mybatis.spring.SqlSessionFactoryBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.core.annotation.Order;
- import org.springframework.core.io.Resource;
- import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
- import org.springframework.core.io.support.ResourcePatternResolver;
- import com.github.pagehelper.PageHelper;
- import tk.mybatis.spring.annotation.MapperScan;
- import tk.mybatis.spring.mapper.MapperScannerConfigurer;
- @Configuration
- @MapperScan("com.pupeiyuan.mapper")
- public class MyBatisConfig {
- @Autowired
- private DataSource dataSource;
- @Bean
- @ConditionalOnMissingBean // 当容器里没有指定的Bean的情况下创建该对象
- public SqlSessionFactoryBean sqlSessionFactoryBean() {
- SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
- // 设置数据源
- sqlSessionFactoryBean.setDataSource(dataSource);
- // 设置别名包
- sqlSessionFactoryBean.setTypeAliasesPackage("com.pupeiyuan.bean");
- return sqlSessionFactoryBean;
- }
- }
SpringMVCConfig.java
- package com.pupeiyuan.config;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
- import com.pupeiyuan.interceptors.IsLoginHandlerInterceptor;
- @Configuration
- public class SpringMVCConfig extends WebMvcConfigurerAdapter{
- @Autowired
- private IsLoginHandlerInterceptor isLoginHandlerInterceptor;
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- // 判断用户是否登录的拦截器
- registry.addInterceptor(isLoginHandlerInterceptor).addPathPatterns("/burket/**");
- }
- }
DruidConfiguration.java
- package com.pupeiyuan.config;
- import org.springframework.boot.web.servlet.FilterRegistrationBean;
- import org.springframework.boot.web.servlet.ServletRegistrationBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import com.alibaba.druid.support.http.StatViewServlet;
- import com.alibaba.druid.support.http.WebStatFilter;
- @Configuration
- public class DruidConfiguration {
- /**
- * 注册一个StatViewServlet
- *
- * @return
- */
- @Bean
- public ServletRegistrationBean DruidStatViewServle2() {
- // org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
- ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
- "/druid/*");
- // 添加初始化参数:initParams
- // 白名单:
- servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
- // IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not
- // permitted to view this page.
- servletRegistrationBean.addInitParameter("deny", "192.168.1.73");
- // 登录查看信息的账号密码.
- servletRegistrationBean.addInitParameter("loginUsername", "admin");
- servletRegistrationBean.addInitParameter("loginPassword", "123456");
- // 是否能够重置数据.
- servletRegistrationBean.addInitParameter("resetEnable", "false");
- return servletRegistrationBean;
- }
- /**
- * 注册一个:filterRegistrationBean
- *
- * @return
- */
- @Bean
- public FilterRegistrationBean druidStatFilter2() {
- FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
- // 添加过滤规则.
- filterRegistrationBean.addUrlPatterns("/*");
- // 添加不需要忽略的格式信息.
- filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
- return filterRegistrationBean;
- }
- }
springboot+mybatis+springMVC基础框架搭建的更多相关文章
- springboot+mybatis+druid+atomikos框架搭建及测试
前言 因为最近公司项目升级,需要将外网数据库的信息导入到内网数据库内.于是找了一些springboot多数据源的文章来看,同时也亲自动手实践.可是过程中也踩了不少的坑,主要原因是我看的文章大部分都是s ...
- springMVC基础框架搭建
1.导入springMVC相关jar包: 2.添加Web.xml配置文件中关于SpringMVC的配置 <servlet> <servlet-name>springmvc< ...
- Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...
- 【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...
- 整合springboot(app后台框架搭建四)
springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...
- SpringBoot+Mybatis多模块项目搭建教程
一.前言 框架为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 1.开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系 ...
- springboot+mybatis+springmvc整合实例
以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...
- spring+mybatis+mina+logback框架搭建
第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...
- LayIM.AspNetCore Middleware 开发日记(三)基础框架搭建
前言 在上一篇中简单讲了一些基础知识,例如Asp.Net Core Middleware 的使用,DI的简单使用以及嵌入式资源的使用方法等.本篇就是结合基础知识来构建一个基础框架出来. 那么框架有什么 ...
随机推荐
- openstack Q版部署-----Mysql、MQ、Memcached安装配置(2)
一.安装mysql(contorller) 安装软件包: yum install -y mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 vi /et ...
- Struts2学习(二)
1.Struts2的Servlet的API的访问 1.1 完全解耦合的方式 ActionContext context = ActionContext.getContext( ); 通过conte ...
- 深入理解JVM - 1 - Java内存区域划分
作者:梦工厂链接:https://www.jianshu.com/p/7ebbe102c1ae来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处. Java与C++之间有一堵 ...
- 【转】Python基础-封装与扩展、静态方法和类方法
[转]Python基础-封装与扩展.静态方法和类方法 一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数 ...
- Class的isAssignableFrom方法
Class类的isAssignableFrom是个不常用的方法,感觉这个方法的名字取得不是很好,所以有必要在此解析一下,以免在看源码时产生歧义,这个方法的签名如下: public native boo ...
- C#操作剪贴板实现复制粘贴
//粘贴 private void tsbPaste_Click(object sender, EventArgs e) { IDataObject iData = Clipboard.GetData ...
- dmp文件的导入导出
一.dmp文件的导入 方法一(需安装PLSQL) 1.运行PLSQL,在oracle登陆窗口输入用户名和密码登陆到数据库 2.运行工具>导入表,弹出导入对话框 3.单击下方选择文件按钮,在弹出对 ...
- http与中文编码传输
分类: http网络及RFC2012-08-12 15:01 3716人阅读 评论(0) 收藏 举报 urljavascript工具pythonimportjsp 关于http的RFC文档:http: ...
- Ubuntu16下apache2安装ssl阿里云证书
1.用下面的命令确保ssl模块已经加载进apache: a2enmod ssl 如果你看到了“Module ssl already enabled”这样的信息就说明你成功了,如果你看到了“Enabli ...
- Spring+Hibernate 多数据源不同事务创建
环境:Spring 3.0 ,Hibernate 3.5 ,同类型数据库(DB2) 编前语:此片仅粗略的描述使用Spring和Hibernate采用注入方式管理多数据源在不同事务的情况下使用的方法. ...