SpringBoot 框架整合

代码地址如下:
http://www.demodashi.com/demo/12522.html

一、主要思路

  1. 使用spring-boot-starter-jdbc集成Mybatis框架
  2. 通过spring-boot-starter-cache集成EhCache
  3. 使用WebServlet集成Druid监控

二、程序实现

1. POM 文件

    <?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.geek</groupId>
        <artifactId>SpringBootInit</artifactId>
        <version>1.0-SNAPSHOT</version>


        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.9.RELEASE</version>
        </parent>

        <properties>
            <mybatis.version>3.4.5</mybatis.version>
            <mybatis.spring.version>1.3.1</mybatis.spring.version>
            <druid.version>1.1.6</druid.version>
            <ehcache.version>3.4.0</ehcache.version>
            <mysql.connector.version>5.1.45</mysql.connector.version>
        </properties>



        <dependencies>
            <!-- SpringBoot -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</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-cache</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.0</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <!-- MySQL -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.connector.version}</version>
            </dependency>
            <!-- MySQL Druid -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- EhCache -->
            <dependency>
                <groupId>org.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>${ehcache.version}</version>
            </dependency>
        </dependencies>

    </project>
2. 集成Mybatis

    mybatis:
      mapper-locations: classpath:mappers/*.xml
      type-aliases-package: com.geek.*.dto
3. 集成EhCache
    <?xml version="1.0" encoding="UTF-8"?>
    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
             updateCheck="false">

        <defaultCache
                eternal="false"
                maxElementsInMemory="1000"
                overflowToDisk="false"
                diskPersistent="false"
                timeToIdleSeconds="0"
                timeToLiveSeconds="600"
                memoryStoreEvictionPolicy="LRU"/>
        <cache
                name="users"
                eternal="false"
                maxElementsInMemory="100"
                overflowToDisk="false"
                diskPersistent="false"
                timeToIdleSeconds="0"
                timeToLiveSeconds="300"
                memoryStoreEvictionPolicy="LRU"/>
    </ehcache>

java中使用注解

    @Override
    @Cacheable(value="users",key="'user_'+#id")
    public User getUserById(Long id) {
        return userMapper.selectByPrimaryKey(id);
    }

    @Override
    @CacheEvict(value="users",allEntries=true)
    public int saveUser(User user) {
        return userMapper.insertSelective(user);
    }
4. durid 使用

WebServlet 配置


@WebServlet(urlPatterns = "/druid/*",
        initParams={
                @WebInitParam(name="allow",value=""),// IP白名单 (没有配置或者为空,则允许所有访问, 逗号分隔)
                @WebInitParam(name="deny",value=""),// IP黑名单 (存在共同时,deny优先于allow)
                @WebInitParam(name="loginUsername",value="admin"),// 用户名
                @WebInitParam(name="loginPassword",value="admin"),// 密码
                @WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能
        })
public class DruidController extends StatViewServlet {

}

Filter 配置

@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",
        initParams={
                @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源
        })
public class DruidStatFilter extends WebStatFilter {
}

三、效果图如下:

增加数据
dezxTA2Qulx5P6s5olS.jpg
cPhiLy7y4BnFSH2l3rm.jpg

第一次执行
vqYUpIUi4NSdR1WZ8iE.jpg
DLsaZd1ms2Et8hZPCKV.jpg

第二次执行
ocq8mGk0tHTPSVFTqnU.jpg
vzGgqTDsARsnNk7xYoQ.jpg

四、程序目录结构

MmKkqmHBtZBlKpB3ttg.jpg

五、其他补充

springBoot介绍
百度百科:https://baike.baidu.com/item/Spring%20Boot/20249767?fr=aladdin
spring官方:https://projects.spring.io/spring-boot/
SpringBoot 框架整合

代码地址如下:
http://www.demodashi.com/demo/12522.html

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值