当前位置: 首页 > 知识库问答 >
问题:

spring Bean不可写或具有无效的setter方法

荣晨朗
2023-03-14

我在用spring做实验,我在看《spring:一个开发者的笔记本》这本书。我得到了这个错误:

原因:org.springframework.beans.factory.BeanCreationException:创建类路径资源[batch-config.xml]中定义的名为“validate file”的bean时出错:设置属性值时出错;嵌套异常为org.springframework.beans.NotWritablePropertyException:bean类[com.emp.validateCustomer]的无效属性“Customers DAO”:bean属性“Customers DAO”不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?

下面是我的batch-config.xml:-

<bean id="validateFile" class="com.emp.ValidateCustomer" >

    <property name="customersDAO">
        <bean class="com.emp.dao.CustomerDao">
                <property name="sessionFactory" ref="sessionFactory"/>
        </bean>
    </property>

     <bean id="sessionFactory"  class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="customerdb"/>
    <property name="packagesToScan" value="com.emp" />
    <property name="hibernateProperties">
        <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
                <prop key="hibernate.jdbc.batch_size">50</prop>
                <prop key="hibernate.default_batch_fetch_size">50</prop>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.use_sql_comments">false</prop>
                <prop key="hibernate.generate_statistics">false</prop>
                <prop key="hibernate.format_sql">false</prop>
                <prop key="hibernate.hbm2ddl.auto">false</prop>
                <prop key="hibernate.enable_lazy_load_no_trans">true</prop>
            </props>
    </property>
</bean> 

</bean>

下面是customersdao.java:-

@Repository
public class CustomersDao {



    @SuppressWarnings("deprecation")
    private HibernateTemplate hibernateTemplate=null;



    @Autowired
    @Qualifier("sessionFactory")
    public void setSessionFactory(SessionFactory sessionFactory) {
        hibernateTemplate = new HibernateTemplate(sessionFactory);
}
}


And in ValidateCustomer.java:-

    @Autowired
    private CustomersDao customersDAO;

请帮帮忙。

共有1个答案

翟元凯
2023-03-14

正如@MarcosBarbero所说,如果没有更多的validateCustomer.java,就不可能确定这个问题。

ValidateCustomer类上有哪些注释?当封闭类是组件或服务时,我对私有属性使用Autowired没有问题。如果不是,那你有公共二传手吗?属性不是公共的,如果设置者不是公共的,spring将无法设置它。

 类似资料:
  • 这是我的实用程序java文件: Spring-servlet.xml: 当我运行时,我得到以下错误: org.springframework.beans。NotWritablePropertyException:bean类[com.chrysler.Utilities.HibernateUtil]的属性“sessionFactory”无效:bean属性“sesionFactory'不可写或具有无效

  • 我知道这个问题已经被问了很多次,但在我看来一切都是正确的。我还从Eclipse中删除了我的代码,让IDE创建getter/setter,但没有用。 这是我在网络逻辑中的错误: 原因:豆类属性“gpsDataAllStopsSql”无效:bean 类的属性“gpsDataAllStopsSql”无效:bean 属性“gpsDataAllSTopsSql”无效,或者具有无效的 setter 方法。二极

  • 我正在我的应用程序服务层中实现Spring事务。 我指的是教程点上的例子,以编程方式实现spring事务... https://www.tutorialspoint.com/spring/programmatic_management.htm 我跟踪了每一个 错误: 线程“main”org.springframework.beans.factory.BeanCreationException中的异

  • 我得到以下错误 原因:org.springframework.beans.NotWritablePropertyException:bean类的无效属性'packagesToScan'[org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]:Bean属性'packagesToScan'不可写或具有无效的setter方法

  • 错误: 有表格:团队、组织。有一对多的关系。 团队模式 组织 JSP 如何让spring让所有组织都使用JSP? 更新: 我使用controller将所有组织和新团队对象的列表传递给jsp: 更新2: 是否限制使用多个模型属性,在这种情况下有两个:和?如何让它工作? 自定义属性名称:commandName描述:表单对象在其下公开的模型属性的名称。默认为“command”。必需:false可以具有运

  • 因此,我有一个任务来编写一个简单的注册表路由Web应用程序。使用Spring MVC。所以我有“路线”类,在那里我想保留起点、终点和中间点列表。但是我不明白,如何把值从jsp列表(例如使用jstl)。所以我决定解析一个字符串。 并遵循JSP: 如果有必要,我可以发布控制器代码。我有一个错误: 谁能解释一下我做错了什么?