Spring第二篇【Bean标签】

Bean标签属性

  1. id

id:Bean实例在Spring容器中的唯一标识符

  1. class

class:bean的全限定名

  1. scope

scope:bean实例的作用范围

scope属性

备注:

当scope="singleton"时,Spring核心文件被加载,创建bean实例

当scope="prototype"时,获取bean实例,创建bean实例

  1. init-method

init-method:指定类中的初始化方法

  1. destory-method

destroy-method:指定类中销毁方法

Bean实例化的三种方式

  1. 无参构造器
    <bean id="userDao" class="com.example.demo.dao.UserDao"/>
  1. 工厂的静态方法
    <bean id="userDao" class="com.example.demo.factory.Factory" factory-method="factoryMethod"/>
  1. 工厂的实例方法
    <bean id="factory" class="com.example.demo.factory.Factory"/>
    <bean id="userDao"  factory-bean="factory" factory-method="factoryMethod2"/>

工厂类

package com.example.demo.factory;

import com.example.demo.dao.UserDao;

public class Factory {

    public static UserDao factoryMethod(){
        return new UserDao();
    }

    public UserDao factoryMethod2(){
        return new UserDao();
    }
}

使用JUnit测试

  1. 导入JUnit坐标
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
  1. 编写测试类
import com.example.demo.dao.UserDao;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {

    @Test
    public void test01(){
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        Object userDao = classPathXmlApplicationContext.getBean("userDao");
        System.out.println((UserDao)userDao);
    }
}

posted @ 2020-08-07 23:10  幻竹  阅读(119)  评论(0)    收藏  举报