iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >FactoryBean怎么在spring中使用
  • 153
分享到

FactoryBean怎么在spring中使用

springfactorybean 2023-05-30 23:05:16 153人浏览 薄情痞子
摘要

FactoryBean怎么在spring中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。从SessionFactory说起:在使用ssh集成开发的时候,我们有时候会在app

FactoryBean怎么在spring中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

从SessionFactory说起:

在使用ssh集成开发的时候,我们有时候会在applicationContext.xml中配置Hibernate的信息,下面是配置SessionFactory的一段示例代码:

<bean id="sessionFactory"     class="org.springframework.ORM.hibernate4.LocalSessionFactoryBean">     <property name="dataSource" ref="dataSource" />     <property name="hibernateProperties">       <props>         <!-- 是否自动更新表项目 -->         <prop key="hibernate.hbm2ddl.auto">update</prop>         <!-- 数据库使用的方言 -->         <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>         <!-- 是否显示产生的sql语句 -->         <prop key="hibernate.show_sql">true</prop>         <!-- 是否显示格式化产生的sql语句 -->         <prop key="hibernate.format_sql">true</prop>       </props>     </property>     <property name="mappingResources">       <list>         <value>bean/User.hbm.xml</value>       </list>     </property>   </bean>

下面我们在程序中取一下sessionFacroty,然后打印出出它的类型

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); System.out.println(applicationContext.getBean("sessionFactory").getClass().getName());

我们会发现它的类型为 org.hibernate.internal.SessionFactoryImpl,而不是org.springframework.orm.hibernate4.LocalSessionFactoryBean,这是为什么呢?

其实在Spring中为我们提供了两种类型的bean,一种就是普通的bean,我们通过getBean(id)方法获得是该bean的实际类型,另外还有一种bean是FactoryBean,也就是工厂bean,我们通过getBean(id)获得是该工厂所产生的Bean的实例,而不是该FactoryBean的实例。

那么如何实现一个FactoryBean呢,Spring为我们提供了一个FactotyBean的接口,只要实现了这个接口,我们创建的bean就是FactoryBean,下面是一个示例

package factory; import org.springframework.beans.factory.FactoryBean; import bean.User;  public class UserFactory implements FactoryBean<User>{   @Override   public User getObject() throws Exception {     return new User();   }   @Override   public Class<?> getObjectType() {     return User.class;   }      @Override   public boolean isSingleton() {     return true;   } }

在applicationContext.xml中配置一下

<bean id="userFactory" class="factory.UserFactory" />

然后我们再将userFactory打印出来,得到的对象为bean.User类型。

ok,那么如何才能得到UserFactory的实例,而不是User对象的实例,我们只需要在取对象时加上一个"&"符号,如下所示

UserFactory userFactory = (UserFactory) applicationContext.getBean("&userFactory");

看完上述内容,你们掌握FactoryBean怎么在spring中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: FactoryBean怎么在spring中使用

本文链接: https://www.lsjlt.com/news/222205.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • FactoryBean怎么在spring中使用
    FactoryBean怎么在spring中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。从SessionFactory说起:在使用SSH集成开发的时候,我们有时候会在app...
    99+
    2023-05-30
    spring factorybean
  • FactoryBean如何在Spring中使用
    FactoryBean如何在Spring中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。spring  FactoryBean 是创建 复杂的bean,一般的be...
    99+
    2023-05-31
    spring factorybean bea
  • Spring详细讲解FactoryBean接口的使用
    目录一、基本使用二、高级使用FactoryBean是一个接口,创建对象的过程使用了工厂模式。 一、基本使用 让Spring容器通过FactoryBean来实现对象的创建。 创建Fa...
    99+
    2024-04-02
  • Properties怎么在Spring中使用
    Properties怎么在Spring中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 在 xml 配置文件中使用即自动替换 ${} 里面的值。<bean&nbs...
    99+
    2023-05-30
  • Spring IOC容器FactoryBean工厂Bean怎么创建
    本篇内容主要讲解“Spring IOC容器FactoryBean工厂Bean怎么创建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring IOC容器FactoryBea...
    99+
    2023-06-30
  • Admin 怎么在Spring Boot中使用
    本篇文章为大家展示了Admin 怎么在Spring Boot中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前言Spring Boot Admin 用于监控基于 Spring Boot 的应...
    99+
    2023-05-31
    springboot mi admin
  • r2dbc在Spring webFlux中怎么使用
    这篇文章主要介绍“r2dbc在Spring webFlux中怎么使用”,在日常操作中,相信很多人在r2dbc在Spring webFlux中怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”r2dbc在S...
    99+
    2023-06-29
  • 怎么在Spring Boot中使用MQTT
    这篇文章给大家分享的是有关怎么在Spring Boot中使用MQTT的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么选择MQTTMQTT的定义相信很多人都能讲的头头是道,本文章也不讨论什么高大上的东西,旨在用...
    99+
    2023-06-14
  • 怎么在Spring Boot中使用MyBatis
    这篇文章将为大家详细讲解有关怎么在Spring Boot中使用MyBatis,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两...
    99+
    2023-05-31
    springboot mybatis
  • 怎么在java中使用Spring框架
    怎么在java中使用Spring框架?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统...
    99+
    2023-06-14
  • Kafka和Storm怎么在Spring boot中使用
    这篇文章给大家介绍Kafka和Storm怎么在Spring boot中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用工具及环境配置 java 版本jdk-1.8 编译工具使用IDEA-2017 maven作为项...
    99+
    2023-05-30
  • @Around注解怎么在Spring AOP中使用
    这期内容当中小编将会给大家带来有关@Around注解怎么在Spring AOP中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。@Around注解可以用来在调用一个具体方法前和调用后来完成一些具体的任务...
    99+
    2023-06-06
  • PropertySource注解怎么在Spring boot中使用
    本篇文章给大家分享的是有关PropertySource注解怎么在Spring boot中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.1. PropertySource...
    99+
    2023-05-30
    springboot propertysource
  • http请求怎么在spring boot中使用
    今天就跟大家聊聊有关http请求怎么在spring boot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先是经过封装:一:初始化httpclientprivate ...
    99+
    2023-05-30
    springboot http
  • 在Spring中使用Quartz
    在Spring中使用Quartz,需要进行以下步骤:1. 添加依赖:在项目的pom.xml文件中添加Quartz的依赖。```xml...
    99+
    2023-09-15
    Spring
  • Spring Boot中怎么使用Spring MVC
    本篇内容主要讲解“Spring Boot中怎么使用Spring MVC”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot中怎么使用Spring&n...
    99+
    2023-07-06
  • 怎么在Spring Boot中使用MongoDB数据库
    这篇文章给大家介绍怎么在Spring Boot中使用MongoDB数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MongoDB简介MongoDB是一个基于分布式文件存储的数据库,...
    99+
    2024-04-02
  • 怎么使用Spring integration在Springboot中集成Mqtt
    今天小编给大家分享一下怎么使用Spring integration在Springboot中集成Mqtt的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有...
    99+
    2023-07-05
  • spring @Primary-在spring中的使用方式
    spring @Primary在spring的使用 在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会...
    99+
    2024-04-02
  • spring中hibernate怎么使用
    本篇内容主要讲解“spring中hibernate怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring中hibernate怎么使用”吧!  首先需要配置数据源,通常我们有两种方式获...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作