spring学习(二)—spring 的bean的实例化方式(通过配置文件)

来源:互联网 发布:java配置文件格式 编辑:程序博客网 时间:2024/05/29 03:36

内容来自传智博客视频
Spring 的bean的实例化方式:
1.使用类的无参构造创建bean实例
2.使用静态工厂创建
3.使用实例工厂创建

1.需要的jar包和配置文件:
需要的jar包和配置文件

2.spring的配置文件bean1.xml,通过该文件来创建对象,也就是控制翻转(IOC)

<?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="user1" class="ioc.User"></bean>    <!-- 使用静态工厂创建对象 -->    <bean id="beanStatic" class="bean.BeanStaticFactory" factory-method="getBean2"></bean>    <!-- 使用实例工厂创建对象 -->    <!-- 创建工厂对象 -->    <!-- 第15行的id和第16行的factory-bean是关联在一起的 -->    <bean id="beanInstanceFactory1" class="bean.BeanInstanceFactory"></bean>    <bean id="beanInstance" factory-bean="beanInstanceFactory1" factory-method="getBean3"></bean></beans>

3.JUnit测试类

package ioc;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import bean.BeanStatic;import bean.BeanInstance;public class TestIOC {    @Test    public void testUser(){        //1.加载spring配置文件        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");        //2.得到配置文件的创建对象        User user = (User)context.getBean("user1");        user.add();        BeanStatic beanStatic = (BeanStatic)context.getBean("beanStatic");        beanStatic.add();        BeanInstance beanInstance = (BeanInstance)context.getBean("beanInstance");        beanInstance.add();    }}

4.通过无参构造方法创建bean实例

package ioc;public class User {    private String userName;    public User(String userName){        this.userName = userName;    }    public User(){    }    public void add(){        System.out.println("user add...........");    }}

5.bean对象(对应实例工厂)

package bean;public class BeanInstance {    public void add(){        System.out.println("beanInstance.............");    }}

6.使用实例工厂创建bean实例

package bean;public class BeanInstanceFactory {    public BeanInstance getBean3(){        return new BeanInstance();    }}

7.bean对象(对应静态工厂)

package bean;public class BeanStatic {    public void add() {        System.out.println("beanStatic.............");    }}

8.使用静态工厂创建bean实例

package bean;public class BeanStaticFactory {    public static BeanStatic getBean2(){        return new BeanStatic();    }}
0 0