gpt4 book ai didi

spring - Bean 属性 'xxx' 不可写或具有无效的 setter 方法

转载 作者:行者123 更新时间:2023-12-04 19:11:06 27 4
gpt4 key购买 nike

我有 Spring 网络应用程序。我已经定义了将服务 bean 作为属性的 Controller bean。也服务 bean 取道。 Dao 已经过测试并且工作正常。现在服务的问题。实际上,我会确保那里的二传手!

那么问题是什么?

Controller bean :

<bean id="listTypeController" class="me.web.servlet.controller.ListTypeController">
<property name="typeService" ref="typeService" />
</bean>

服务 bean :
<bean id="typeService"class="me.general.service.impl.TypeServiceImpl">
<property name="genericDao" ref="genericDao" />
<property name="typeDao" ref="typeDao" />
</bean>

服务等级:
 public class TypeServiceImpl implements TypeService {

private TypeDao typeDao;
private GenericDao genericDao;
public TypeDao getTypeDao() {
return typeDao;
}

public GenericDao getGenericDao() {
return genericDao;
}
public void setTypeDao(TypeDao typeDao) {
this.typeDao = typeDao;
}

public void setGenericDao(GenericDao genericDao) {
this.genericDao = genericDao;
}
}

列表 Controller :
public class ListTypeController {

public static final String SEARCH_TYPE_FORM_ATTRIBUTE_NAME = "SearchTypeForm";

private TypeService typeService;

@ModelAttributeSEARCH_TYPE_FORM_ATTRIBUTE_NAME)
public SearchTypeForm createForm() {
SearchTypeForm form = new SearchTypeForm();
form.setPageSize(SystemConfiguration.getCurrentConfiguration().getDefaultPageSize());
form.setActive(Boolean.TRUE);
return form;
}

@RequestMapping("/administration/types")
public String listTypes(@ModelAttribute(SEARCH_TYPE_FORM_ATTRIBUTE_NAME) SearchTypeForm form,
Model model) {
Page<Type> all = typeService.findTypes(form);
model.addAttribute("all", all);
return "/master/general/List";
}


public void setTypeServic(TypeService typeService) {
this.typeService = typeService;
}
}

错误 :
Invalid property 'typeService' of bean class 
[me.web.servlet.controller.ListTypeController]:
Bean property 'typeService' is not writable or has an invalid setter method.
Does the parameter type of the setter match the return type of the getter?

最佳答案

ListTypeController没有合适类型的属性来接收 typeService bean,否则该属性的 setter 格式错误。请注意,如果您正在进行一些代理并且您的 ListTypeController指定类型为 TypeServiceImpl ,那么可能是因为您应该通过接口(interface)类型来引用 bean,TypeService .您的typeService 的代理将是 TypeService ,但不是 TypeServiceImpl .

更新:根据您的新代码:setTypeServic应该是 setTypeService ,否则您的属性名称实际上是 typeServic .

关于spring - Bean 属性 'xxx' 不可写或具有无效的 setter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14888588/

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