【Spring】实现FactoryBean接口

FactoryBean

FactoryBean是一个接口,需要创建一个类来实现该接口,该接口中有三个方法,通过重写其中的两个方法,获得一个对象,三个方法分别是:

  • 1.getObject():通过一个对象交给IOC容器管理
  • 2.getObjectType():设置所提供对象的类型
  • 3.isSingleton():所提供的对象是否单例

当把FactoryBean的实现类配置为bean时,会将当前类中getObject()所返回的对象交给IOC容器管理

UserFactoryBean类:

java 复制代码
public class UserFactoryBean implements FactoryBean<User> {
    @Override
    public User getObject() throws Exception {
        return new User();
    }

    @Override
    public Class<?> getObjectType() {
        return User.class;
    }
}

对应的bean配置:

XML 复制代码
    <bean class="com.zh.spring.factory.UserFactoryBean">

    </bean>

测试类:

java 复制代码
public class FactoryBeanTest {
    @Test
    public void testFactory(){
        ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-factory.xml");
        User user = ioc.getBean(User.class);
        System.out.println(user);

    }

实现FactoryBean接口,把UserFactoryBean配置给IOC容器这一过程省略了,只需要重写FactoryBean接口,实现里面的方法,就可以获得提供的对象和对象的类型,从而在bean中只需要配置UserFactoryBean,就可以对所提供的对象进行依赖注入等操作。

在后续的mybatis整合spring比较常用。

相关推荐
小蜜蜂dry15 小时前
nestjs实战-登录、鉴权(二)
前端·后端·nestjs
全栈王校长15 小时前
Nest 文件上传 - 就是增强版的 el-upload
前端·后端·nestjs
0xDevNull15 小时前
Spring Boot 3.x WebSocket 实战教程
spring boot·后端·websocket
沐雪轻挽萤15 小时前
1. C++17新特性-序章
java·c++·算法
neoooo15 小时前
Spring AI MCP Server 开发指南
人工智能·后端·mcp
殷紫川15 小时前
Spring AI 整合火山引擎豆包向量库搭建企业知识库:我踩过的 10 个致命坑与终极解决方案
java·ai编程
呆呆在发呆.15 小时前
JavaEE初阶
java·jvm·网络协议·学习·udp·java-ee·tcp
南璋15 小时前
MySQL排序踩坑:为什么"10"比"2"小?
后端
何陋轩15 小时前
Elasticsearch搜索引擎深度解析:把搜索核心讲透,面试都是小菜
后端·面试
算.子15 小时前
【Spring 实战】Spring AI 进阶专题:Token 成本优化与 Structured Output
java·人工智能·spring