gpt4 book ai didi

java - 我可以使用spring进行幂等注入(inject)吗?

转载 作者:行者123 更新时间:2023-12-01 10:09:36 25 4
gpt4 key购买 nike

我有UserService和方法save(User user),它只是将用户保存到列表中。我可以使用spring来调用这样的方法吗?

      <bean
id="user_service"
class="my.package.here.UserService">
<property name="save">
<bean class="my.package.here.User">
<property name="email" value="my@email.com"/>
<property name="firstName" value="Foo"/>
<property name="lastName" value="Bar"/>
</bean>
</property>
</bean>

我尝试了这段代码并收到了org.springframework.beans.NotWritablePropertyException。我知道我可以直接设置用户列表。不管怎样,你能解释一下为什么我不能向 save 方法注入(inject)一些东西吗?

最佳答案

Spring DI 是围绕 JavaBeans 概念构建的。

A JavaBean is a POJO that is serializable, has a no-argument constructor, and allows access to properties using getter and setter methods that follow a simple naming convention. Because of this convention, simple declarative references can be made to the properties of arbitrary JavaBeans.

因此,如果您想将某些内容注入(inject)“属性”save,您的类必须至少有 setter 方法,即 setSave(User user)
但是你想要做的事情是违背Spring哲学的。

关于java - 我可以使用spring进行幂等注入(inject)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36218115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com