目录
1.bean生命周期方法配置
在一个javaBean的创建之后, 与销毁之前,自定义方法进行相关操作,<bean>标签中提供两个属性:init-method: 初始化方法方法名;destroy-method: 销毁之前的方法方法名, 释放资源。
2.bean实例化三种方式
2.1 构造方法实例化, 默认方式
<bean id="userDao" class="com.fs.dao.impl.UserDaoImpl"
init-method="init" destroy-method="close"></bean>
2.2 spring管理静态工厂使用静态工厂的方法创建对象
(1)创建工厂类
(2)提供一个创建对象的静态方法
/**
* 产生UserDaoImpl对象静态工厂
*/
public class UserDaoImplStaticFactory {
/**
* 静态工厂方法
* @return
*/
public static UserDao createUserDao(){
System.out.println("UserDao正在创建中...");
return new UserDaoImpl();
}
}
2.3 spring管理实例工厂使用实例工厂的方法创建对象
(1)创建工厂类
(2)编写一个非静态方法, 创建对象
package com.fs.factory;
import com.fs.dao.UserDao;
import com.fs.dao.impl.UserDaoImpl;
/**
* 实例工厂
*/
public class UserDaoImplInstanceFactory {
/**
* 非静态
* @return
*/
public UserDao createUserDao(){
System.out.println("实例工厂创建UserDao对象");
return new UserDaoImpl();
}
}
(3)进行工厂bean配置, 实例bean配置
<!-- 把实例工厂对象交给Spring管理-->
<bean id="userDaoImplInstanceFactory" class="com.fs.factory.UserDaoImplInstanceFactory"></bean>
<!--配置UserDao的bean
factory-bean: 工厂对象的bean的id
factory-method: 调用创建的对象方法
-->
<bean id="userDao3" class="com.fs.dao.impl.UserDaoImpl" factory-bean="userDaoImplInstanceFactory"
factory-method="createUserDao"
></bean>
3.自动装配
spring根据bean的需求(依赖),自动给属性注入值, 在bean标签使用autowire属性开启自动装配
1.根据名字匹配需求 byName bean的name与set方法后面除set之后的方法名字
2.根据类型匹配需求 byType 根据属性的数据类型匹配
如果这个类型的bean有多个, 抛异常: