spring 手动添加 bean 到容器,例子 :多数据源配置

 

package com.thunisoft.spsjsb.config.db.decrypt;

import com.alibaba.druid.pool.DruidDataSource;
import com.thunisoft.spsjsb.config.AppEnv;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
public class MultiDsConf {

    @Bean
    public Integer doRun() {
        //获取BeanFactory
        DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) AppEnv.getCtx().getAutowireCapableBeanFactory();

        //创建bean信息.
        BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(DruidDataSource.class);
        beanDefinitionBuilder.addPropertyValue("driverClassName","com.mysql.jdbc.Driver");
        beanDefinitionBuilder.addPropertyValue("url","jdbc:mysql:///sp_tjpt_dev?useUnicode=true&characterEncoding=utf8&useSSL=false&generateSimpleParameterMetadata=true&useCursorFetch=true&defaultFetchSize=100");
        beanDefinitionBuilder.addPropertyValue("username","root");
        beanDefinitionBuilder.addPropertyValue("password","123456");
        defaultListableBeanFactory.registerBeanDefinition("sjsb", beanDefinitionBuilder.getBeanDefinition());

        BeanDefinitionBuilder beanDefinitionBuilder2 = BeanDefinitionBuilder.genericBeanDefinition(DruidDataSource.class);
        beanDefinitionBuilder2.addPropertyValue("driverClassName","net.sourceforge.jtds.jdbc.Driver");
        beanDefinitionBuilder2.addPropertyValue("url","jdbc:jtds:sybase:///YWST");
        beanDefinitionBuilder2.addPropertyValue("username","sa");
        beanDefinitionBuilder2.addPropertyValue("password","123456");
        defaultListableBeanFactory.registerBeanDefinition("np", beanDefinitionBuilder2.getBeanDefinition());

        return 1;
    }
}

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值