当前位置: 首页 > 面试题库 >

在Spring框架中使用抽象工厂

柯琛
2023-03-14
问题内容

我有一些抽象工厂

public interface AbstractViewersFactory {
    IAbstractShapeViewer createRectangle(BaseOperationsListener<RectangleDTO> p);
    IAbstractShapeViewer createOval(BaseOperationsListener<OvalDTO> p);
    IAbstractShapeViewer createTriangle(BaseOperationsListener<TriangleDTO> p);
}

及其实现 Draw2DViewersFactory 。现在,我要创建一个类,该类负责按模型创建演示者/查看者并由Spring对其进行配置。因此,我需要在
.xml 配置中描述应调用的方法。可能是这样的(伪配置)

<bean creator>
<constructor-args>
<list>
    <bean describe-item> <constructor-args>model=Rectangle.class, method-for-viewer-create="createRectangle"</args>
    <bean describe-item> <constructor-args>model=Oval.class, method-for-viewer-create="createOval"</args>
<list>
</constructor-args>
</bean>

我该怎么办?

谢谢。


问题答案:

即使您的问题不清楚,我想我也知道您想知道的内容。您可以将spring bean定义为工厂实例,然后按如下所示设置此bean的factory方法:

<bean id="myFactoryBean"
  class="AbstractViewersFactory">

  <bean id="exampleBean"
  factory-bean="myFactoryBean"
  factory-method="createRectangle"/>

希望这可以帮助。在Google上获取更多信息:p

问候



 类似资料:
  • 目标:用 Docker 的方式搭建一个 Java Spring Boot 应用 本项目代码维护在 DaoCloud/docker-demo-spring-boot 项目中。 您可以在 GitHub 找到本项目并获取本文中所提到的所有代码文件。 前言 Java 一直是企业应用开发的大头,在互联网时代,在云计算、大数据的推动下,Java 又焕发了新生。 Spring Framework 是 Java

  • EasyWeChat 是一个通用的 Composer 包,所以不需要对框架单独做修改,只要支持 Composer 就能直接使用,当然了,为了更方便的使用,我们收集了以下框架单独提供的拓展包: Laravel overtrue/laravel-wechat Symfony lilocon/WechatBundle Yii jianyan74/yii2-easy-wechat 适用于 EasyWeCh

  • QueryList无框架依赖,可以灵活的嵌入到任何项目中去。 在使用Composer管理的项目中安装 在非Composer管理的项目中安装 QueryList可以集成到任何框架中去使用,无需做任何修改,直接使用Composer安装到项目中去即可。 在使用Composer管理的项目中安装 如果项目框架本身就是使用Composer来管理包的话,直接在项目根目录执行Composer安装命令后,即可在项目

  • 问题内容: 我有一堂课,看起来像这样: 我想做这个: 从Spring XML配置。 能做到吗?怎么样? 问题答案: 阅读有关类型擦除的内容应该可以帮助您更好地理解这一点。 在运行时,将 擦除 泛型类的类型参数。正如cletus所说的,Java中的泛型基本上是语法糖-它们只是编译时的功能。 由于Spring是在运行时实例化对象的,因此实际上可以自由地实例化任何类型的a-实际上,没有什么可以阻止它创建

  • 23.3. 使用Spring邮件抽象 假设某个业务接口名为 OrderManager: public interface OrderManager { void placeOrder(Order order); } 同时有一个用例为:需要生成带有订单号的email信件, 并向客户发送该订单。 为此,我们会使用MailSender接口和SimpleMailMessage类。 请注意,通常情

  • -- 我想创建一个工厂,就像抽象工厂模式一样,我可以调用,以获得我在Spring XML中配置的任何实现的规模: 但是,使用这种方法,我如何配置ScaleFactory应该使用Spring XML中的哪个实现呢? -- 另一种方法是在我的服务中使用属性而不是ScaleFacotry,并使用ScaleFactory,如下所示: 但是这个工厂就毫无意义了,因为我还可以运行。