Spring工厂Bean FactoryBean

首先什么是bean,我感觉我看了这么久,一直没太明白,这里听老师说,bean就是对象。

在Spring中有两种类型的bean,一种是普通bean,另一种是工厂bean(FactoryBean)

普通bean和FactoryBean的区别:

普通bean,在配置文件中定义bean类型就是返回类型。

工厂bean,在配置文件中定义的bean类型可以和返回的类型不一样。

演示工厂bean:

  1. 创建类,让这个类作为工厂bean,实现接口FactoryBean
  2. 实现接口里面的方法,在实现的方法中定义返回的bean类型
<!--Mybean.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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--定义bean-->
<bean id="myBean" class="com.finajoy.spring5.factoryBean.MyBean"/>
</beans>
//MyBean.java
public class MyBean implements FactoryBean<String> {
//实现这个方法,定义返回的bean
@Override
public String getObject() throws Exception {
return "null";
}
@Override
public Class<?> getObjectType() {
return null;
}
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("MyBean.xml");
String myBean = context.getBean("myBean", String.class);
System.out.println(myBean);
}
}
posted @   finajoy  阅读(141)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示