spring复杂对象的创建

  • 第一步 创建一个类 实现 beanFactory 接口 ,实现三个方法
public  class MyConfigFactoryBean implements FactoryBean<Connection> {

    @Override
    public Connection getObject() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "root");
        return connection;
    }
    @Override
    public Class<?> getObjectType() {
        return Connection.class;
    }
    @Override
    public boolean isSingleton() {
        return false;
    }
}

  • 在applicationContext.xml中配置bean标签
  <bean id="connection" class="cn.itcast.controller.MyConfigFactoryBean"></bean>
  • 通过创建aoc容器,调用getBean返回的是一个复杂对象
 @Test
    public void test1(){
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
        Connection connection =(Connection) ac.getBean("connection");
        System.out.println(connection);
    }
  • 如果需要返回的是工厂本身,需要在getBean方法的参数前面加上 &
public void test1(){
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
        Connection connection =(Connection) ac.getBean("connection");
        MyConfigFactoryBean factoryBean =(MyConfigFactoryBean) ac.getBean("&connection");
        System.out.println(connection);
        System.out.println(factoryBean);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值