Я пытаюсь создать проект Spring с операцией CRUD.Я новичок в Spring, поэтому мне нужно немного помочь -
Я получаю следующую ошибку при отправке формы методом post-
Причина: org.springframework.beans.NotWritablePropertyException: недопустимое свойство 'userDao' класса бина [com.cjc.service.RegistrationServiceImpl]: свойство бина 'userDao' недоступно для записи или имеет недопустимый метод установки.Соответствует ли тип параметра установщика типу возвращаемого значения получателя?на org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException (BeanWrapperImpl.java:231) в org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java:423) в org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java:280) в org.springframework.beans.AbstractPropertyAccessor.setPropertyValues (AbstractPropertyAccessor.java:95) в org.springframework.beans.AbstractAutowireCapableBeanFactory.java:1514) ... еще 47
23 января 2019 г. 9:01:09 org.apache.catalina.core.StandardWrapperValve вызывает SEVERE: выделяет исключение для пружины сервлета org.springframework.beans.NotWritablePropertyException: недопустимое свойство 'userDao' класса бина [com.cjc.service.RegistrationServiceImpl]: бинСвойство 'userDao' недоступно для записи или имеет недопустимый метод установки.Соответствует ли тип параметра установщика типу возвращаемого значения получателя?на org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException (BeanWrapperImpl.java:231) в org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java:423) в org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java:280) в org.springframework.beans.AbstractPropertyAccessor.setPropertyValues (AbstractPropertyAccessor.java:95) в org.springframework.beans.AbstractAutowireCapableBeanFactory.java:1514) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1226) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:543) в орг.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482) в org.springframework.beans.factory.support.AbstractBeanFactory..DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:301.act.Bean: 196 вbeans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1014) в org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor.java:543) вorg.springframework.beans.factory.annotation.InjectionMetadata.inject (InjectionMetadata.java:88)
в
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues (AutowiredAnnotationBeanPostProcessor.java:331)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1214)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:543)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482)
в
org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:305)
в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230)
в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:301)
в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:196)
в
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:772)
Пожалуйста, найдите ниже файлы Java для того же -
* 1013 эксплуатации контроллеров *
package com.cjc.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.cjc.model.User;
import com.cjc.service.RegistrationService;
@Controller
public class RegistrationController {
@Qualifier("regservice")
private RegistrationService registrationService;
public void setRegistrationService(RegistrationService registrationService) {
this.registrationService = registrationService;
}
@RequestMapping(value="/registration", method=RequestMethod.POST)
public String Registration(@ModelAttribute User u) {
registrationService.addPerson(u);
return "RegSuccess";
}
}
Услуги-
package com.cjc.service;
import com.cjc.dao.UserDAO;
import com.cjc.model.User;
public class RegistrationServiceImpl implements RegistrationService {
private UserDAO userDao ;
public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}
@Override
public int addPerson(User u) {
// TODO Auto-generated method stub
return 0;
}
}
DAO Impl-
package com.cjc.dao;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.cjc.model.User;
import com.cjc.util.HibernateUtil;
public class UserDaoImpl implements UserDAO{
@Override
public void addUser(User u) {
// TODO Auto-generated method stub
SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
Session session=sessionFactory.openSession();
Transaction transaction=session.beginTransaction();
session.save(u);
transaction.commit();
}
@Override
public void deleteUser(int id) {
// TODO Auto-generated method stub
}
@Override
public List<User> getAllUser() {
// TODO Auto-generated method stub
return null;
}
@Override
public User getUserById(int id) {
// TODO Auto-generated method stub
return null;
}
@Override
public void updteUser(User u, int id) {
// TODO Auto-generated method stub
}
}
Весна-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:annotation-driven />
<context:component-scan base-package="com.cjc.controller" />
<bean id="userDAO" class="com.cjc.dao.UserDaoImpl">
</bean>
<bean id="regservice" class="com.cjc.service.RegistrationServiceImpl">
<property name="userDao" ref="userDAO"></property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="application" />
</bean>
</beans>
Пожалуйста, помогите мне в решении проблемы