创建bean的三种方式
程序员文章站
2022-05-24 18:23:34
...
第一种方式:使用默认构造函数创建。
在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时。
采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。
注:一定要显示的写默认构造函数,如果你不写,系统不会给你加上。
<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"></bean>
第二种方式: 使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)
package factory;
import Service.AccountServletImpl;
import Service.IAccountServlet;
public class init {
public IAccountServlet getAccountServlet(){
return new AccountServletImpl();
}
public init(){
System.out.println("init对象创建了");
}
}
bean.xml
<?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="accountDao" class="Dao.AccountDaoImpl"></bean>
<bean id="initservlet" class="factory.init"></bean>
<bean id="acountServlet" factory-bean="initservlet" factory-method="getAccountServlet"></bean>
</beans>
获取时,和方法一一样。
AccountServletImpl acountServlet= (AccountServletImpl) ac.getBean("acountServlet");
第三种方式:使用工厂中的静态方法创建对象(使用某个类中的静态方法创建对象,并存入spring容器)
package factory;
import Service.AccountServletImpl;
import Service.IAccountServlet;
public class init {
public static IAccountServlet getAccountServlet(){
return new AccountServletImpl();
}
public init(){
System.out.println("init对象创建了");
}
}
xml配置
<bean id="acountServlet" class="factory.init" factory-method="getAccountServlet"></bean>
上一篇: ztree——如何获取当前节点的根节点
下一篇: dump 索引的根节点