Spring 实例化 Bean 的方式

使用无参构造方法

一、创建实体类

public class IOCBean {
	...
}

二、创建 Spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="iocBean" class="chu.yi.bo.IOCBean"/>
</beans>

使用静态工厂方法

一、创建实例类

public class IOCBean {
	...
}

二、创建静态工厂类

public class StaticFactory {

    public static IOCBean createIOCBean() {
        return new IOCBean();
    }
}

三、创建 Spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="iocBean" class="chu.yi.bo.StaticFactory" factory-method="createIOCBean"/>
</beans>

四、Bean 标签的属性

属性 说明
id 指定 bean 的 id
class 指定静态工厂的全限定类名
factory-method 指定创建对象的静态方法

使用实例工厂方法

一、创建实例类

public class IOCBean {
	...
}

二、创建实例工厂类

public class InstanceFactory {

    public IOCBean createIOCBean() {
        return new IOCBean();
    }
}

三、创建 Spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="instancFactory" class="chu.yi.bo.InstanceFactory"/>
    <bean id="iocBean"
          factory-bean="instancFactory"
          factory-method="createIOCBean"/>
</beans>

四、Bean 标签的属性

属性 说明
id 指定 bean 的 id
factory-bean 用于指定实例工厂 bean 的 id
factory-method 用于指定实例工厂中创建对象的方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章