Bean实例化的三种方式
无参构造方法实例化#
userimpl 为接口实现类
demo 为测试类
UserDao 为接口
package cn.impl;
import cn.user.UserDao;
public class userimpl implements UserDao {
@Override
public void say() {
System.out.println("hello!");
}
}
package cn.user;
public interface UserDao {
public abstract void say();
}
package cn.text;
import cn.user.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class demo1 {
public static void main(String[] args) {
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) app.getBean("userDao");
userDao.say();
}
}
在 Spring配置文件中配置 bean
<bean id ="UserDao" class = "cn.impl.userimpl"> <bean>
工厂静态方法实例化#
创建工厂静态方法
package cn.factory;
import cn.impl.userimpl;
import cn.user.UserDao;
public class userFactory {
static UserDao getUserDao(){
return new userimpl();
}
}
bean配置
<bean id ="UserDao" class="cn.factory.userFactory" factory-method="getUserDao"></bean>
工厂实例方法#
import cn.impl.userimpl;
import cn.user.UserDao;
public class eampleFactory {
public UserDao getUserDao(){
return new userimpl();
}
}
bean 配置
<bean id="example" class="cn.factory.eampleFactory"></bean>
<bean id="UserDao" factory-bean="example" factory-method="getUserDao"></bean>
作者:冰莫莫
出处:https://www.cnblogs.com/icemomo/p/16000800.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了