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

我想定义一个没有接口的Spring Bean CLASS

奚和光
2023-03-14
问题内容

我有一个延伸的四季豆HibernateDaoSupport。我希望将此bean注入控制器中,但是我不希望它实现任何接口。我只想从其余代码中引用具体的类(也许不使用AopProxy?)有人可以这样做吗?

<bean id="mySampleService" class="com.sample.MySampleService">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

@Autowired
private MySampleService mySampleService;

... getters and setters ....

我知道使用该接口是一个好主意,这就是IoC的重点,但是请不要建议我使用该接口。


问题答案:

如果要代理的类(在您的情况下是通过事务代理实现)实现了任何接口(在您的情况下是InitializingBean通过实现HibernateDaoSupport),则Spring默认使用基于JDK动态代理的代理策略。

因此,它创建了一个type的代理InitializingBean,很明显,它不能注入type的字段中MySampleService

如果你不想使用的界面,你可以重写通过声明使用事务方面的战略<tx:annotation-driven>proxy-target-class = "true"

也可以看看:

  • 7.6代理机制


 类似资料:
  • 问题内容: 我想知道我们可以在一个接口内定义一个接口。喜欢 这是面试中提出的问题。任何实时使用。 问题答案: 是的,我们可以做到。Java中的嵌套接口的定义如下: 嵌套接口是其声明出现在另一个类或接口的主体内的任何接口。顶级接口是不是嵌套接口的接口。 请参阅此为多。 进一步 … 一个原因可能是外部接口具有一种将回调实现作为参数的方法。在这种情况下,嵌套接口是回调方法必须实现的协定。我没有理由在顶层

  • 定义一个接口还是很方便的,我先给出一个PHP语言中的形式。 <?php interface i_myinterface { public function hello(); } 那它在扩展中的实现是这样的。 zend_class_entry *i_myinterface_ce; static zend_function_entry i_myinterface_method[]={

  • 我使用的界面看起来大致如下: 并且我目前正在使用一个匿名类来实现接口,但我并不关心这两种方法中的一种。大致如下: 现在,我已经在Java8中尽可能地使用新的lambda表达式,我想在这种情况下使用增加的简单性。毕竟,我只是在实现其中的一个方法,但由于接口中有两个方法,所以我不能在一个lambda表达式中使用它。

  • 我想与Firebase连接,但我有一个错误:"无法解析Android应用程序模块gradleconfig.resolvegradle构建问题和/或重新同步."和我检查我的gradle.

  • 我想要列列表和它的表名在数据库中的列具有所有空值。 此表太大,有些列只有空值。 我想要一个存储过程,列出表中没有任何数据的列(即NULL)。 这样我就可以削减列的数量。 我只是展示了几个专栏,这样你就可以阅读了。原始表有324列和数百万行数据。对于该代码来说,性能不是一个紧迫的问题。我需要这个只是为了内部目的。 这是mysql解决方案,我需要一个SQL服务器解决方案

  • 我用‘固定’使‘导航’不动。然而,如果有一个“标题”,则有一个与“标题”区域一样多的边距。在向上移动了多少‘头部’区域后,我想把它固定在那个位置。我在用“反应”所以很难找到方法。我正在自学,所以我原来知道的不多,所以我来学习一些新的东西。 null null