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 报错问题
    Android中Is library配置的作用
    Ubuntu 12.04 中安装和配置 Java JDK
    (转)Android开发把项目打包成apk
    (转)Android--使用Canvas绘图
    Android_Gallery(画廊)
    android组件
    Android中px dpi dip density densityDpi 的相关说明
    (转)Android中px与dip,sp与dip等的转换工具类
    (转)谈谈Android中的Rect类——奇葩的思维
  • 原文地址:https://www.cnblogs.com/lkldeblog/p/10685833.html
Copyright © 2011-2022 走看看