springboot全家桶,集成shiro,rabbitmq,redis, mybatis,druid,swagger

原创
2019/09/18 10:59
阅读数 816

搭建了一个SpringBoot的模板,下载即可作为单体应用的服务后台模板

项目地址:https://gitee.com/devilscode/springboot_template

项目集成框架

springboot 作为基础框架
shiro 权限管理
rabbitmq 消息中间件
redis 缓存
mybatis 持久层框架
druid 数据源 和 资源监控
swagger 做API接口文档

核心

pom.xml

<?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>

	<groupId>com.example.springboot-shiro</groupId>
	<artifactId>springboot-template</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot-template</name>
	<description>Spring Boot Shiro</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--redis-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<!--mybatis-->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.0</version>
		</dependency>
		<!--druid数据源-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.18</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<!--shiro-->
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-spring</artifactId>
			<version>1.4.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-ehcache</artifactId>
			<version>1.4.0</version>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.2.2</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.2.2</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--log4j-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

application.yml

server:
  port: 8080
spring:
  redis:
    port: 6379
    host: 192.168.139.133
    jedis:
      pool:
        max-active: 8
        min-idle: 0
        max-wait: 1ms
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    username: root
    url: jdbc:mysql://192.168.139.133:3306/springboot?useUnicode=true&characterEncoding=utf-8&useSSL=false
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    initialSize: 5
    minIdea: 2
    maxIdea: 10
    maxActive: 20
    maxWait: 5
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    # 合并多个DruidDataSource的监控数据
    useGlobalDataSourceStat: true
  rabbitmq:
    host: 192.168.139.133
    port: 5672
    username: guest
    password: guest
    publisher-confirms: true
    virtual-host: /



mybatis:
  type-aliases-package: com.example.springbootshiro.entity
  mapper-locations: classpath:mapper/*.xml

logging:
  level:
    com.geeking.coding.springboot.dao : debug


rabbit:
  config:
    queue-name: demo-queue
    exchange-name: demo-exchange
    routingkey-name: demo-routingkey

使用说明

1:配置自己的数据源(MySql,Redis,RabbitMQ)
2:直接启动APP.main,或者配置自己的tomcat

鸣谢

感谢以上框架的开发人员给我们java程序员提供这么优秀的框架和工具,使得我们做事情效率更高 All The Best

如果大神们觉得有什么问题可以在这里或者gitee留言,欢迎指正

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部