zoukankan      html  css  js  c++  java
  • Spring创建复杂对象

    Spring创建复杂对象

    何为复杂对象?

    在java中,不能通过new关键字创建的对象,都称为复杂对象,如抽象类(abstract,例如Calendar日期类)、接口(interface,JDBC中的Connection连接类)。

    复杂对象(如Calendar日期类)的普通创建方式:

    Calendar calendar = Calendar.getInstance();

    System.out.println(newSimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));

    在spring工厂中,复杂对象的创建方式:

    1.类 implements FactoryBean<Calendar>接口

    //创建复杂对象的方法,并将创建对象返回
    @Override
    public Calendar getObject() throws Exception {
    return Calendar.getInstance();
    }
    //创建复杂对象的类型
    @Override
    public Class<?> getObjectType() {
    return Calendar.class;
    }
    //复杂对象在工厂中创建的次数,true表示单例,false表示多例
    @Override
    public boolean isSingleton() {
    return true;
    }
    }
    //spring创建Connection
    public class ConnectionFactoryBean implements FactoryBean<Connection> {
    @Override
    public Connection getObject() throws Exception {
    //加载驱动
    Class.forName("com.mysql.jdbc.Driver");
    return DriverManager.getConnection("jdbc:mysql://localhost:3306/express","root", "root");
    }
    @Override
    public Class<?> getObjectType() {
    return Connection.class;
    }
    @Override
    public boolean isSingleton() {
    return false;
    }
    }

    2. 配置

    <!-- 配置复杂对象的创建 -->
    <bean id="calendar" class="factoryBean.CalendarFactoryBean"></bean>
    <bean id="connection" class="factoryBean.ConnectionFactoryBean"></bean>
  • 相关阅读:
    MongoDB知识
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    SQL Server 触发器
    TSQL游标使用
    python和C#的区别
    bcp和SqlDataAdapter进行批量跟新插入方法
    SQL Server中索引视图用法详解
    hdu 1950 Bridging signals
    UVA 116 Unidirectional TSP
    poj 3230 Travel
  • 原文地址:https://www.cnblogs.com/lkldeblog/p/10685833.html
Copyright © 2011-2022 走看看