当前位置: 首页 > wzjs >正文

沈阳网络平台推广公司长沙建站优化

沈阳网络平台推广公司,长沙建站优化,大连建设委员会网站,做外贸的网站开店流程Spring Boot + MyBatis-Plus 读写分离与多 Slave 负载均衡示例 一、项目结构 src/main/java/com/example/demo/ ├── config/ │ ├── DataSourceConfig.java # 数据源配置 │ ├── MyBatisPlusConfig.java # MyBatis-Plus配置 ├── constant/ │…

Spring Boot + MyBatis-Plus 读写分离与多 Slave 负载均衡示例

一、项目结构

src/main/java/com/example/demo/
├── config/
│   ├── DataSourceConfig.java         # 数据源配置
│   ├── MyBatisPlusConfig.java        # MyBatis-Plus配置
├── constant/
│   ├── DataSourceType.java           # 数据源类型枚举
├── context/
│   ├── DataSourceContextHolder.java  # 数据源上下文
├── aspect/
│   ├── DataSourceAspect.java         # 注解驱动的数据源切换
│   ├── DataSourceRouteAspect.java    # 自动路由的数据源切换
├── annotation/
│   ├── DataSource.java               # 自定义数据源注解
├── loadbalancer/
│   ├── SlaveDataSourceLoadBalancer.java # 从库负载均衡器
├── mapper/
│   ├── UserMapper.java               # DAO接口
├── service/
│   ├── UserService.java              # 服务接口
│   ├── impl/
│       └── UserServiceImpl.java      # 服务实现
├── controller/
│   ├── UserController.java           # 控制器
└── DemoApplication.java              # 启动类

二、核心代码实现

(一)数据源类型枚举

// constant/DataSourceType.java
package com.example.demo.constant;public enum DataSourceType {MASTER,SLAVE_1,SLAVE_2,SLAVE_3
}

(二)数据源上下文

// context/DataSourceContextHolder.java
package com.example.demo.context;import com.example.demo.constant.DataSourceType;public class DataSourceContextHolder {private static final ThreadLocal<DataSourceType> contextHolder = new ThreadLocal<>();public static void setDataSource(DataSourceType type) {contextHolder.set(type);}public static DataSourceType getDataSource() {return contextHolder.get();}public static void clearDataSource() {contextHolder.remove();}
}

(三)动态数据源

// config/DynamicRoutingDataSource.java
package com.example.demo.config;import com.example.demo.context.DataSourceContextHolder;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;public class DynamicRoutingDataSource extends AbstractRoutingDataSource {@Overrideprotected Object determineCurrentLookupKey() {return DataSourceContextHolder.getDataSource();}
}

(四)数据源配置

// config/DataSourceConfig.java
package com.example.demo.config;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.example.demo.constant.DataSourceType;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;@Configuration
public class DataSourceConfig {@Primary@Bean(name = "masterDataSource")@ConfigurationProperties("spring.datasource.master")public DataSource masterDataSource() {return DruidDataSourceBuilder.create().build();}@Bean(name = "slave1DataSource")@ConfigurationProperties("spring.datasource.slave1")public DataSource slave1DataSource() {return DruidDataSourceBuilder.create().build();}@Bean(name = "slave2DataSource")@ConfigurationProperties("spring.datasource.slave2")public DataSource slave2DataSource() {return DruidDataSourceBuilder.create().build();}@Bean(name = "slave3DataSource")@ConfigurationProperties("spring.datasource.slave3")public DataSource slave3DataSource() {return DruidDataSourceBuilder.create().build();}@Beanpublic DataSource dynamicDataSource() {DynamicRoutingDataSource dynamicDataSource = new DynamicRoutingDataSource();// 设置默认数据源dynamicDataSource.setDefaultTargetDataSource(masterDataSource());// 设置多数据源映射Map<Object, Object> targetDataSources = new HashMap<>();targetDataSources.put(DataSourceType.MASTER, masterDataSource());targetDataSources.put(
http://www.dtcms.com/wzjs/367953.html

相关文章:

  • 网站开发价目表引擎优化搜索
  • 吉林省建设厅价格信息网站成都网站关键词排名
  • 企业如何做好网站的seo优化宁波网站建设公司
  • 网站主机做外挂一键优化是什么意思
  • 网站建设评价标准搜索引擎yandex入口
  • 网页网站开发助理网站开发建站
  • 网站引导页一般是什么格式企业如何注册自己的网站
  • 网站的后缀浏览器老是出现站长工具
  • 网站建设宣传册正规拉新推广平台有哪些
  • 专业商城网站建设报价单百度收录在线提交
  • 平谷区住房和城乡建设委员会网站怎样做网络销售平台
  • 自己动手做网站教程中国站免费推广入口
  • 网页设计模板的网站国内最好的危机公关公司
  • 网站开发需要客户做什么seo排名优化厂家
  • 奢侈品 网站建设方案嘉兴网站建设制作
  • 许昌网络推广哪家好公司seo是什么级别
  • 驻马店做网站优化免费的个人网站怎么做
  • 东莞住房建设网站的网北京seo供应商
  • 做网站编辑的时候没保存怎么网络营销有什么特点
  • 惠州网站建设是什么如何做网站赚钱
  • 自己做网站空间西安seo管理
  • 个人网站备案核验单填写百度联盟广告
  • 贵阳网站开发哪家便宜互联网营销师培训班
  • 江西省建设招标网站百度指数分析报告案例
  • C 如何做简易网站百度竞价优化
  • 营销型网站建设主要教学内容沈阳全网推广公司哪家好
  • wordpress cms插件平台关键词排名优化
  • 做卖车的网站有哪些靠谱的代运营公司有哪些
  • 湖南企业推广软件无线网络优化工程师
  • 网站标题一样网络推广的基本渠道