SpringBoot整合阿里 Druid 数据源的实例详解

SpringBoot整合阿里 Druid 数据源的实例详解

在SpringBoot项目中,我们经常会使用阿里的Druid数据源来管理我们的数据库连接。本文将详细讲解如何在SpringBoot项目中整合阿里Druid数据源。

步骤一:导入相关依赖

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.26</version>
</dependency>

步骤二:配置数据源

application.propertiesapplication.yml文件中配置数据源信息,例如:

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/test_db
      username: root
      password: 123456
      driver-class-name: com.mysql.cj.jdbc.Driver

步骤三:配置Druid监控

在SpringBoot中使用Druid,我们可以通过配置DruidStatViewServletDruidFilter来开启监控功能。

在SpringBoot中,我们可以使用@Bean注解来创建DruidStatViewServletDruidFilter

@Configuration
public class DruidConfig {
    @Bean
    public ServletRegistrationBean druidStatViewServlet() {
        // 设置Druid监控界面的访问路径
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new StatViewServlet(), "/druid/*");

        // 设置IP白名单
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1");

        // 设置IP黑名单
        servletRegistrationBean.addInitParameter("deny", "192.168.0.19");

        // 设置登录账号和密码
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");

        // 是否允许重置数据
        servletRegistrationBean.addInitParameter("resetEnable", "false");

        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean druidFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(
                new WebStatFilter());

        // 设置URL的筛选
        filterRegistrationBean.addUrlPatterns("/*");

        // 排除过滤的URL
        filterRegistrationBean.addInitParameter("exclusions",
                "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");

        // 日志记录
        filterRegistrationBean
                .addInitParameter("profileEnable", "true");

        return filterRegistrationBean;
    }
}

示例一:使用JdbcTemplate进行操作

在项目中引入JdbcTemplate,并进行数据操作,例如:

@Autowired
JdbcTemplate jdbcTemplate;

public List<Object> getAllUsers() {
    return jdbcTemplate.queryForList("SELECT * FROM user");
}

示例二:使用MyBatis进行操作

在项目中引入MyBatis,并进行数据操作,例如:

@Mapper
public interface UserDao {
    @Select("SELECT * FROM user")
    List<User> getAllUsers();
}

以上就是SpringBoot整合阿里Druid数据源的详细攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合阿里 Druid 数据源的实例详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Android开发实现的简单五子棋游戏示例

    下面是关于“Android开发实现的简单五子棋游戏示例”的完整攻略。 主要步骤 步骤一:设计界面UI 首先,在通过XML设计界面时,需要考虑到下棋时棋盘的大小、棋子的大小、边框颜色等因素。规划好界面之后,需要通过相关的布局容器来实现场景的设计。 步骤二:创建动态事件监听器 在设计完成了界面之后,需要通过编写代码,创建必要的动态事件监听器,这将有助于我们跟踪棋…

    Java 2023年5月23日
    00
  • java list用法示例详解

    Java List用法示例详解 概述 Java中List是一个用于存储一组有序元素的接口,它是java.util包中的一个接口。List接口的实现类有ArrayList、LinkedList等,它们都是用于存储为一组有序元素的集合。本文将对Java中List的用法进行详细的介绍。 创建List 创建List的方法如下,其中“E”代表元素的类型。 List&l…

    Java 2023年5月26日
    00
  • java-制表符\t的使用说明

    当我们需要在Java中对齐输出内容时,可以使用制表符\t来实现。\t代表一个制表符,它的作用是在输出时产生一个横向的制表位,使得相邻输出结果能够对齐。下面是使用\t的一些说明和示例: 1. 在 System.out.println() 中使用制表符 可以在 System.out.println() 中使用制表符\t,来实现输出对齐的效果。以下是一个示例代码:…

    Java 2023年5月26日
    00
  • SpringBoot如何通过自定义注解实现权限检查详解

    本文介绍如何通过自定义注解在SpringBoot中实现权限校验。我们可以通过自定义注解,并在接口中使用该注解来达到对该接口的访问权限控制的目的。 实现原理 在SpringBoot中,我们可以通过AOP(面向切面编程)的方式来实现权限控制。具体过程如下: 定义一个自定义注解,用于标识哪些接口需要鉴权; 定义一个切面,用于拦截被自定义注解标识的方法; 在切面中根…

    Java 2023年5月20日
    00
  • 如何实现线程安全的集合?

    以下是关于如何实现线程安全的集合的完整使用攻略: 什么是线程安全的集合? 线程安全的集合是指多个线程可以同时访问的集合,而不会出现数据不一致或程序崩溃等问题。在多线程编程中,线程安全的集合是非常重要的,因为多个线程同时访问集合,会出现线程间争用的问题,导致数据不一致或程序崩溃。 如何实现线程安全的集合? 为了现线程安全的集合,需要使用同步机制来保证多个线程对…

    Java 2023年5月12日
    00
  • IDEA2020.1启动SpringBoot项目出现java程序包:xxx不存在

    当使用IDEA 2020.1版本启动Spring Boot项目时,可能会遇到以下错误提示: java程序包:xxx不存在 这个错误通常是由于项目的依赖项有问题导致的。为了解决这个问题,可以采取以下步骤: 步骤一:清除Maven本地仓库 打开命令行窗口,输入以下命令清除Maven本地仓库: mvn clean 这个命令会清除本地Maven仓库中的缓存文件。接下…

    Java 2023年5月19日
    00
  • Java实现简单的表达式计算器功能示例

    Java实现简单的表达式计算器功能示例 在本攻略中,我们将介绍如何使用Java实现一个简单的表达式计算器。该计算器可以接受简单的算术表达式,并返回计算结果。我们将使用Java编程语言,其中包含有关如何使用Java变量、表达式、运算符和控制流的信息。 步骤1:创建项目并编写基本代码 你可以使用任何你熟悉或喜欢的Java开发工具来创建一个新项目。在这个项目中,你…

    Java 2023年5月18日
    00
  • Java中的封装是什么?

    Java中的封装(Encapsulation)是一种面向对象编程(OOP)中常见的原则之一,它是OOP中三大特征(封装、继承和多态)之一。 封装是指将一个对象的属性和方法进行私有化,使其不被外部直接访问和修改。目的在于隐藏对象的具体实现细节,增加代码的可读性、可维护性和安全性。在Java中,使用关键字private来实现封装。 下面以一个银行账户类Accou…

    Java 2023年4月27日
    00
合作推广
合作推广
分享本页
返回顶部