1、数据源配置
在Spring Boot中默认配置了Tomcat, HikariCP、Commons DBCP三种数据源类型,如果在classpath中都能找到的话,则Tomcat优先加载(顺序加载)
配置方式
@Bean(name="dataSource", initMethod="init", destroyMethod="close") public DataSource dataSource() { return DataSourceBuilder.create().build(); }
默认使用spring.datasource前缀的属性,也可以自定义属性,通过@Value读取
spring.datasource.url=jdbc:mysql://localhost:3306/db1 spring.datasource.username=root spring.datasource.password=123456
2、使用阿里开源的druid数据源配置
引入pom依赖,引入后配置文件中自动提示druid配置属性
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.2</version> </dependency>
配置单数据源时只需替换数据源的创建即可
return DruidDataSourceBuilder.create().build();
基于druid的多数据源配置
@Bean(name="dataSource", initMethod="init", destroyMethod="close")//别名指定 @Primary //指定为主数据源 @ConfigurationProperties("spring.datasource.druid") //指定配置文件中的属性引用 public DataSource dataSource() { return DruidDataSourceBuilder.create().build(); } /***配置其他数据源***/ @Bean(name="otherDataSource", initMethod="init", destroyMethod="close") @ConfigurationProperties("other.datasource.druid") //指定配置文件中的属性引用 public DataSource otherDataSource() { return DruidDataSourceBuilder.create().build(); }
定义配置文件
spring.datasource.druid.url=jdbc:mysql://localhost:3306/db1 spring.datasource.druid.username=root spring.datasource.druid.password=123456 spring.datasource.druid.filters=stat,wall,slf4j //druid监控配置 #自定义数据源属性配置,druid-spring-boot-starter已引入druid的配置提示,根据提示只需重新定义 #属性前缀即可,实现不同数据源的个性化配置 other.datasource.druid.type=com.alibaba.druid.pool.DruidDataSource other.datasource.druid.url=jdbc:mysql://localhost:3306/db2 other.datasource.druid.username=root other.datasource.druid.password=123456 other.datasource.druid.filters=stat,wall,slf4j
数据源在jdbctemple中的注入,通过@Qualifier注解区分数据源的使用
@Bean public JdbcTemplate jdbcTemplate(@Qualifier("dataSource")DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean("otherJdbcTemplate") public JdbcTemplate otherJdbcTemplate(@Qualifier("otherDataSource")DataSource dataSource) { return new JdbcTemplate(dataSource); }
控制台查看数据源初始化信息,可以看到两个都已初始化
--- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-2} inited
druid监控台查看
http://localhost:8765/druid/datasource.html
数据源1,Basic Info For DataSource-1920147706 数据源2,Basic Info For DataSource-2034046523
相关推荐
### Spring Boot 中文文档知识点概览 #### 一、Spring Boot 概述 - **文档说明**:Spring Boot 是一...以上内容覆盖了 Spring Boot 中文文档的主要知识点,从入门到进阶,全面介绍了 Spring Boot 的特性和使用方法。
《Spring Boot整合MyBatis与MySQL的深度解析》 在当今的Java开发领域,Spring Boot以其简洁、快速的特性受到了广大开发者的喜爱。与此同时,MyBatis作为一款轻量级的持久层框架,以其灵活易用的特点在数据访问层面...
- 配置 `application.properties`,设置数据库连接信息,例如 `spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password` 等。 2. **Mybatis-Plus 雪花Id** - 雪花Id是一种分布式ID...
### Spring Boot 基础与进阶知识点详解 #### 一、Spring Boot 概述 - **定义**:Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式...
【咕泡学院】的Spring ...通过这四节内容的学习,学员将全面掌握Spring Boot的基础和进阶知识,具备构建高效、稳定的Web应用和服务的能力。课程不仅注重理论,更强调实践,有助于开发者在实际项目中迅速应用所学知识。
在本课程"SpringBoot-jt-day01"中,我们将深入学习Spring Boot的基础知识和核心概念,这是一门针对初学者和进阶开发者的重要课程。Spring Boot是Java生态系统中的一个热门框架,它简化了创建独立的、生产级别的基于...
### Spring Boot 技巧、进阶、实用学习笔记 #### JPA简介与基本使用 - **JPA(Java Persistence API)概述**: - JPA 是一种 Java 规范,用于对象关系映射 (ORM) 的场景,允许将对象持久化到关系型数据库。 - 它...
spring.datasource.url=jdbc:mysql://localhost:3306/mydb ``` #### 四、添加依赖 1. **在 Maven 项目中**:编辑 `pom.xml` 文件,添加所需的依赖。例如: ```xml <groupId>org.springframework.boot ...
《Springboot入门实战:构建“luckymoney”项目》 Springboot作为一个轻量级的Java框架,因其简化了传统Spring应用的...通过这个项目,你可以深入理解Spring Boot的工作原理,并为进一步的进阶学习打下坚实的基础。
在IT领域,特别是Java应用服务器环境下,JBoss与MySQL数据库的集成是常见需求之一,而JNDI(Java Naming and Directory Interface)在此过程中扮演着关键角色。本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,...
在IT行业中,Spring Boot是一个非常流行的微服务框架,它简化了Spring应用的初始搭建以及开发过程。而Quartz是Java领域中的一个强大的任务调度库,它允许开发者安排任务执行,以实现定时或周期性的任务自动化。现在...
这里我们使用了Spring Boot的`spring-boot-starter-data-jpa`起步依赖,它包含了Spring Data JPA、Hibernate等必要的组件。同时,根据你的数据库类型,还需要添加对应的数据库驱动依赖。 ### 2. 配置数据源和JPA ...
本项目“springboot-jpa-001”旨在提供一个基础的Spring Boot集成JPA(Java Persistence API)的示例,后续还将进一步集成JSP(JavaServer Pages)作为前端展示层。 首先,Spring Boot简化了JPA的配置和使用。JPA是...
在实际项目中,Spring与MyBatis的整合还有许多进阶应用,例如使用MyBatis的缓存机制提高性能,利用Spring的AOP实现通用的拦截器,以及配合Spring Boot简化配置等。这些都为开发者提供了更广阔的发挥空间,让项目开发...
这个项目会展示如何配置Spring的ApplicationContext,创建DataSource、SqlSessionFactoryBean以及SqlSessionTemplate。同时,我们也会看到如何在Spring中定义Mapper接口,使用@Autowired注解注入,并且通过...
本项目"springboot02"显然是一个基于Spring Boot的进阶示例,重点在于实现多数据源管理和MyBatis的分页功能。下面将详细阐述这两个关键知识点。 1. **多数据源管理** - **多数据源配置**:在实际项目中,可能会有...
接着,源码分析可能包括SpringApplication的启动流程,包括如何加载和执行配置,如何初始化ApplicationContext,以及Spring Boot Application Runner和CommandLineRunner接口的使用。 在数据访问层面,文档可能会...
总结,SpringBoot-ShowCase是一个生动的实例,涵盖了Spring Boot的基础和进阶使用,包括自动配置、数据库集成、Web开发等方面。通过学习和实践这个项目,开发者可以更深入地理解Spring Boot的工作原理,提升Java开发...
【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:相关技术 SpringBoot 2.0 SpringSecurity MyBatis-Plus 2 ActiveMQ ...
8. **自动配置**: SpringBoot的核心特性之一就是自动配置,它根据引入的依赖自动配置Bean,如发现JDBC驱动就会自动配置DataSource。 9. **MVC配置**: SpringBoot的Web MVC提供了模型-视图-控制器架构,你可以自定义...