pom依赖

  <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.11</version></dependency>

jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/itheima
jdbc.username=root
jdbc.password=******

配置类JdbcConfig

package com.zxl.config;import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;import javax.sql.DataSource;/*** @author xueliang.z* @date 2022年10月27日 5:23 PM*/
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {@Value("${jdbc.url}")String url;@Value("${jdbc.driverClassName}")String driverClassName;@Value("${jdbc.username}")String username;@Value("${jdbc.password}")String password;@Beanpublic DataSource dataSource(){DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(url);dataSource.setDriverClassName(driverClassName);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;}
}

解读:

  • @Configuration:声明我们JdbcConfig是一个配置类
  • @PropertySource:指定属性文件的路径是:classpath:jdbc.properties
  • 通过@Value为属性注入值
  • 通过@Bean将 dataSource()方法声明为一个注册Bean的方法,Spring会自动调用该方法,将方法的返回值加入Spring容器中。

然后我们就可以在任意位置通过@Autowired注入DataSource了!

controller测试

package com.zxl.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.sql.DataSource;/*** @author xueliang.z* @date 2022年10月27日 5:17 PM*/
@RestController
public class HelloController {@Autowiredprivate DataSource dataSource;@GetMapping("hello")public String hello() {return "hello"+dataSource;}
}

请求测试:
hello{ CreateTime:"2022-10-28 09:39:34", ActiveCount:0, PoolingCount:0, CreateCount:0, DestroyCount:0, CloseCount:0, ConnectCount:0, Connections:[ ] }
通过debug也可以看到dataSource中已经成功注入了属性值。

spring集成druid示例相关推荐

  1. eclipse 达梦 连接_达梦Hibernate Spring集成开发示例

    [IT168 技术文档]DM是武汉华工达梦数据库有限公司推出的新一代高性能.高安全性的数据库产品.它具有开放的.可扩展的体系结构,高性能事务处理能力,以及低廉的维护成本.DM是完全自主开发的数据库软件 ...

  2. 阿里RocketMq试用记录+简单的Spring集成

    CSDN学院招募微信小程序讲师啦      程序猿全指南,让[移动开发]更简单!        [观点]移动原生App开发 PK HTML 5开发     云端应用征文大赛,秀绝招,赢无人机! 阿里R ...

  3. SpringMVC Spring Mybatis Druid SpringSession集成例子

    本文主要介绍SpringMVC Spring Mybatis Druid SpringSession如何集成. 源代码分享在github https://github.com/chenhaifeng2 ...

  4. Spring Boot 集成 Druid 监控数据源

    关注"Java后端技术全栈" 回复"面试"获取全套大厂面试资料 Druid 介绍 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和 ...

  5. Spring MVC Hibernate MySQL集成CRUD示例教程

    Spring MVC Hibernate MySQL集成CRUD示例教程 我们在上一篇教程中学习了如何集成Spring和Hibernate.今天,我们将继续前进,并将Spring MVC和Hibern ...

  6. spring boot、mybatis集成druid数据库连接池,实现mysql cluster HA负载均衡访问

    spring boot.mybatis集成druid数据库连接池,实现mysql cluster HA负载均衡访问 1.原理实现介绍 本质来说使用连接池是为了节省创建.关闭数据库连接的资源消耗,从而提 ...

  7. Spring Boot集成Druid异常discard long time none received connection.

    Spring Boot集成Druid异常 在Spring Boot集成Druid项目中,发现错误日志中频繁的出现如下错误信息: discard long time none received conn ...

  8. spring boot 集成druid数据库连接池,并打印sql

    spring boot 2.x 集成druid pom文件配置 <dependencies><dependency><groupId>org.springframe ...

  9. Spring/Spring Boot微服务项目 集成Druid 实现监控功能

    为什么80%的码农都做不了架构师?>>>    步骤如下: 1.首先新建2个model(LogInfo,MonitorInfo) public class LogInfo imple ...

最新文章

  1. Batch Normalization的诅咒
  2. python教程:函数递归与生成器教程
  3. 在气候灾难的时代,这些游戏正在用自己的方式去重新审视自然
  4. 如何深入浅出的理解数据仓库建模?
  5. JS----JavaScript中函数
  6. mysql如何实现acid中的a_MySQL如何实现事务的ACID
  7. pat 乙级 1033 旧键盘打字(C++)
  8. python字符串批量替换、修改多个字符的方法实例
  9. JavaScript和Java的区别
  10. java class object_[java]Class类和Object类的关系
  11. 关于Nginx有没可能漏记请求日志或Nginx重复向后端发请求
  12. MFC工程中划定ROI区域
  13. PLC也能制作小游戏----Codesys编写猜数字小游戏
  14. 2017普及第四题 跳房子 jump DP+二分
  15. 申宝股票-三大指数震荡下行
  16. RealSR性能大幅提升,旷视科技+快手科技+电子科大联合提出“先发散再收敛”的D2CSR
  17. 闲鱼前端组件库的建设
  18. php 正则匹配座机号、手机号
  19. 让假照片原形毕露?今日水印相机上线“照片验真”功能
  20. 企业、商家、门店多行业线上线下电商小程序

热门文章

  1. python的print用法
  2. 【Linux】进程概念 —— PCB
  3. blogbus博客搬家之图片迁移
  4. 虚拟机中Linux配置java-jdk和tomcat
  5. Python xlrd 读取Excel数字 数字丢失精度 小数位太长 求大神的解决方法(已解决)
  6. Swarm Flocking 经典蜂拥模型大全
  7. 关于旅行社网站项目网页布局的设计思路
  8. word中插入参考文献标号以及如何引用参考文献
  9. 卡尔曼滤波之目标跟踪
  10. probit模型与logit模型的相同点,区别及关系