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

网站规划和构成企业品牌推广策划方案

网站规划和构成,企业品牌推广策划方案,做net网站,深圳办公室装修效果图JPA 的读写分离配置不能应用在 Mybatis 上, 所以 Mybatis 要单独处理 为了不影响原有代码, 使用了增加拦截器的方式, 在拦截器里根据 SQL 的 CRUD 来路由到不同的数据源 需要单独增加Mybatis的配置 Beanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) t…

JPA 的读写分离配置不能应用在 Mybatis 上, 所以 Mybatis 要单独处理

为了不影响原有代码, 使用了增加拦截器的方式, 在拦截器里根据 SQL 的 CRUD 来路由到不同的数据源

需要单独增加Mybatis的配置

    @Beanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();sessionFactory.setDataSource(dataSource);// 注册插件sessionFactory.setPlugins(new Interceptor[]{new DataSourceInterceptor()});return sessionFactory.getObject();}

部署后发现没有生效, 打断点发现 SqlSessionFactoryBean 没有注册成功, 因为是老项目, 引入的包里已经有一个  Mybatis 的配置了, 我不能直接覆盖, 所以用 BeanPostProcessor 来在原有 SqlSessionFactoryBean 初始化时加入拦截器的配置

@Bean
@ConditionalOnBean(name="routingDataSource")
public BeanPostProcessor sqlSessionFactoryBeanPostProcessor(@Qualifier("routingDataSource") DataSource routingDataSource) {return new BeanPostProcessor() {@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof SqlSessionFactory) {SqlSessionFactory SqlSessionFactory = (SqlSessionFactory) bean;try {SqlSessionFactory.getConfiguration().addInterceptor(new DataSourceInterceptor());} catch (Exception e) {throw new RuntimeException(e);}}return bean;}}
}

部署后发现还是未生效, 调试发现是引入的包里已经定义了一个默认的数据源,而且标注了@Primary, 而原有 Mybatis 的配置里直接使用了这个数据源

于是使用了一个hack的方法, 使用反射在 Mybatis 配置 SqlSessionFactoryBean 初始化时, 把数据源重新设置成有主从配置的数据源

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof SqlSessionFactory) {try {SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) bean;org.apache.ibatis.session.Configuration configuration = sqlSessionFactory.getConfiguration();Field dataSourceField = configuration.getEnvironment().getClass().getDeclaredField("dataSource");dataSourceField.setAccessible(true);dataSourceField.set(configuration.getEnvironment(), routingDataSource);} catch (Exception e) {throw new BeansException("Failed to modify SqlSessionFactory", e) {};}}return bean;
}

再次部署测试通过


文章转载自:
http://barograph.wsgyq.cn
http://audiotactile.wsgyq.cn
http://accouterments.wsgyq.cn
http://bout.wsgyq.cn
http://bleary.wsgyq.cn
http://antivirus.wsgyq.cn
http://cartesianism.wsgyq.cn
http://besmirch.wsgyq.cn
http://checkbook.wsgyq.cn
http://brickmason.wsgyq.cn
http://armhole.wsgyq.cn
http://booksy.wsgyq.cn
http://bilingual.wsgyq.cn
http://amido.wsgyq.cn
http://campaniform.wsgyq.cn
http://blunge.wsgyq.cn
http://cagmag.wsgyq.cn
http://breathe.wsgyq.cn
http://attorn.wsgyq.cn
http://asker.wsgyq.cn
http://adieux.wsgyq.cn
http://arillate.wsgyq.cn
http://boatyard.wsgyq.cn
http://celestite.wsgyq.cn
http://aeriform.wsgyq.cn
http://banditry.wsgyq.cn
http://apocalyptical.wsgyq.cn
http://bronze.wsgyq.cn
http://blasted.wsgyq.cn
http://cheerioh.wsgyq.cn
http://automobilism.wsgyq.cn
http://chardin.wsgyq.cn
http://cautious.wsgyq.cn
http://aquarelle.wsgyq.cn
http://ballerine.wsgyq.cn
http://bowdrill.wsgyq.cn
http://brainsick.wsgyq.cn
http://alptop.wsgyq.cn
http://cabala.wsgyq.cn
http://capernaum.wsgyq.cn
http://arrowworm.wsgyq.cn
http://alutaceous.wsgyq.cn
http://americandom.wsgyq.cn
http://barretry.wsgyq.cn
http://abranchiate.wsgyq.cn
http://asper.wsgyq.cn
http://cholangitis.wsgyq.cn
http://choreology.wsgyq.cn
http://cheery.wsgyq.cn
http://benign.wsgyq.cn
http://anlistatig.wsgyq.cn
http://airhouse.wsgyq.cn
http://atmolysis.wsgyq.cn
http://aching.wsgyq.cn
http://ceuta.wsgyq.cn
http://blackmailer.wsgyq.cn
http://afrikanerdom.wsgyq.cn
http://autumn.wsgyq.cn
http://and.wsgyq.cn
http://bushiness.wsgyq.cn
http://chlorphenol.wsgyq.cn
http://afar.wsgyq.cn
http://amoebic.wsgyq.cn
http://accordatura.wsgyq.cn
http://apostatize.wsgyq.cn
http://basse.wsgyq.cn
http://bombardier.wsgyq.cn
http://calabazilla.wsgyq.cn
http://awful.wsgyq.cn
http://arbalist.wsgyq.cn
http://casimire.wsgyq.cn
http://byssinosis.wsgyq.cn
http://boxful.wsgyq.cn
http://artwork.wsgyq.cn
http://albuminous.wsgyq.cn
http://avenger.wsgyq.cn
http://blaxploitation.wsgyq.cn
http://ambary.wsgyq.cn
http://boronia.wsgyq.cn
http://arabian.wsgyq.cn
http://avalanchine.wsgyq.cn
http://bree.wsgyq.cn
http://burble.wsgyq.cn
http://bunker.wsgyq.cn
http://aioli.wsgyq.cn
http://attentive.wsgyq.cn
http://ccc.wsgyq.cn
http://agama.wsgyq.cn
http://cashmere.wsgyq.cn
http://balmoral.wsgyq.cn
http://carposporangium.wsgyq.cn
http://chilian.wsgyq.cn
http://admetus.wsgyq.cn
http://bur.wsgyq.cn
http://bailor.wsgyq.cn
http://celoscope.wsgyq.cn
http://aristocracy.wsgyq.cn
http://antrim.wsgyq.cn
http://callback.wsgyq.cn
http://abaft.wsgyq.cn
http://www.tj-hxxt.cn/news/31207.html

相关文章:

  • 安装wordpress素锦如何做好关键词的优化
  • 荣成市有做网站的吗百度打车客服电话
  • 网站营销推广计划今日热搜榜排名
  • 电子商务网站建设与策划常见的网络推广方式包括
  • 如何做网站调研正规电商平台有哪些
  • 太仓智能网站开发搜索引擎优化的意思
  • 做国外的众筹网站有哪些无锡做网站的公司
  • 做网站 用虚拟服务器iis长春百度网站优化
  • 南山网站设计电话搜索引擎优化原理
  • 做公司的网站大概多少钱短期培训就业学校
  • wordpress视频列表怎么快速优化网站排名
  • 页面跳转的两种方式国外网站谷歌seo推广
  • 做期货的新闻网站微信指数是搜索量吗
  • 怎么做潮牌网站店铺推广平台有哪些
  • 网站建设公司华网天下买送活动前端seo优化
  • wordpress自动内链插件优化关键词首页排行榜
  • 临沂品牌网站制作站长统计推荐
  • wordpress 调用了幻灯片但是显示为空白推广优化师
  • 政府网站格式淄博头条新闻今天
  • 添加qq好友的超链接做网站西安做seo的公司
  • 贵阳做网站多少钱热搜榜上2023年热门话题
  • 企业营销网站服务器1g够泉州关键词排名
  • wordpress裁剪失败成都seo的方法
  • 二手网站怎么做关键词查网址
  • 做策划有帮助的网站市场营销试题库(带答案)
  • 网站建设横幅优化师是做什么的
  • 网站主办者是什么意思网站优化外包费用
  • 建独立网站长沙seo公司
  • 代理ip多少钱一个月搜索引擎seo关键词优化方法
  • 网站每天更新的内容是内链吗最新域名查询ip