Spring第二篇【Bean标签】
Bean标签属性
- id
id:Bean实例在Spring容器中的唯一标识符
- class
class:bean的全限定名
- scope
scope:bean实例的作用范围

备注:
当scope="singleton"时,Spring核心文件被加载,创建bean实例
当scope="prototype"时,获取bean实例,创建bean实例
- init-method
init-method:指定类中的初始化方法
- destory-method
destroy-method:指定类中销毁方法
Bean实例化的三种方式
- 无参构造器
<bean id="userDao" class="com.example.demo.dao.UserDao"/>
- 工厂的静态方法
<bean id="userDao" class="com.example.demo.factory.Factory" factory-method="factoryMethod"/>
- 工厂的实例方法
<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测试
- 导入JUnit坐标
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
- 编写测试类
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);
}
}

浙公网安备 33010602011771号