当前位置: 首页> 文旅> 美景 > Spring通过工厂方法进行配置

Spring通过工厂方法进行配置

时间:2025/7/13 18:42:15来源:https://blog.csdn.net/weixin_43227851/article/details/140588631 浏览次数:0次

在Spring的世界中, 我们通常会利用 xml配置文件 或者 annotation注解方式来配置bean实例!

在第一种利用 xml配置文件 方式中, 还包括如下三小类

  1. 反射模式(我们前面的所有配置都是这种模式)
  2. 工厂方法模式
  3. Factory Bean模式

其中反射模式最常见, 我们需要在bean 配置中配置我们需要的bean object的全类名。

上面bean 里面的class属性就是全类名, Spring利用java反射机制创建这个bean object。

工厂方法模式

在工厂方法模式中, Spring不会直接利用反射机制创建bean对象, 而是会利用反射机制先找到Factory类,然后利用Factory再去生成bean对象。

而Factory Mothod的具体使用方式也分两种, 分别是静态工厂方法 和 实例工厂方法。

静态工厂方法方式

所谓静态工厂方式就是指Factory类不本身不需要实例化, 这个Factory类中提供了1个静态方法来生成bean对象

下面是例子

里面定义了1个静态的bean 容器map. 然后提供1个静态方法根据Car 的id 来获取容器里的car对象。

然后我们再定义1个工厂类CarStaticFactory

xml配置

 

小结

由上面的例子, 静态工厂方法方式是非常适用于作为1个bean容器, 只不过bean集合定义在工厂类里面而不是项目xml配置文件里面。 

缺点也比较明显, 把数据写在class里面而不是配置文件中违反了我们程序猿的常识和spring的初衷。当然优点就是令人恶心的xml配置文件更加简洁。所以,工厂方法的配置,了解一下就行了,个人建议不要在项目中使用。

实例工厂方法方式

所谓实例工厂方式也很容易看懂, 就是工厂类里面的getBean 方法不是静态的, 也就是说要先实例1个工厂的对象, 才能依靠这个工厂对象去调用getBean 方法获得bean 对象。

看代码:

小结

显然,实例化工厂方法比静态工厂方法,要灵活一些,没把数据写死在工厂类里,但是实际开发中,用的最多的还是反射模式! 

 

 

 

关键字:Spring通过工厂方法进行配置

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: