Я хочу создать Rest Web Services И это сработало. Я изменил код и
теперь у меня есть эта ошибка:
org.springframework.beans.factory.UnsatisfiedDependencyException:
Ошибка создания компонента с именем 'controllery', определенным в файле
[C: \ Users \ Amir \ рабочее пространство \ гу \ \ целевой классы \ гу \ вебсервис \ контроллер \ Controllery.class]:
Неудовлетворенная зависимость выражается через параметр конструктора 0;
вложенное исключение
org.springframework.beans.factory.UnsatisfiedDependencyException:
Ошибка создания компонента с именем 'interfaceImpl', определенным в файле
[C: \ Users \ эмир \ рабочего пространства \ гу \ цель \ Классы \ гу \ вебсервис \ осущ \ InterfaceImpl.class]:
Неудовлетворенная зависимость выражается через параметр конструктора 0;
вложенное исключение
org.springframework.beans.factory.BeanCreationException: ошибка
создание bean-компонента с именем testRepository: вызов метода init
не удалось; Вложенное исключение - java.lang.IllegalArgumentException: не
управляемый тип: класс gu.webservice.domain.Test at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:733)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor (ConstructorResolver.java:198)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory.java:1266)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1123)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:535)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:495)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:759)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:867)
~ [spring-context-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:548)
~ [spring-context-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:140)
~ [spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
org.springframework.boot.SpringApplication.refresh (SpringApplication.java:754)
[spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:386)
[spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
org.springframework.boot.SpringApplication.run (SpringApplication.java:307)[spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
org.springframework.boot.SpringApplication.run (SpringApplication.java:1242)
[spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
org.springframework.boot.SpringApplication.run (SpringApplication.java:1230)
[spring-boot-2.0.6.RELEASE.jar: 2.0.6.RELEASE] в
gu.webservice.GuApplication.main (GuApplication.java:11) [classes /: na]
Вызванный:
org.springframework.beans.factory.UnsatisfiedDependencyException:
Ошибка создания компонента с именем 'interfaceImpl', определенным в файле
[C: \ Users \ эмир \ рабочего пространства \ гу \ цель \ Классы \ гу \ вебсервис \ осущ \ InterfaceImpl.class]:
Неудовлетворенная зависимость выражается через параметр конструктора 0;
вложенное исключение
org.springframework.beans.factory.BeanCreationException: ошибка
создание bean-компонента с именем testRepository: вызов метода init
не удалось; Вложенное исключение - java.lang.IllegalArgumentException: не
управляемый тип: класс gu.webservice.domain.Test at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:733)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor (ConstructorResolver.java:198)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory.java:1266)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1123)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:535)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:495)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate (DependencyDescriptor.java:251)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:1135)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1062)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument (ConstructorResolver.java:819)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:725)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] ... 19 общих
кадры опущены
org.springframework.beans.factory.BeanCreationException: ошибка
создание bean-компонента с именем testRepository: вызов метода init
не удалось; Вложенное исключение - java.lang.IllegalArgumentException: не
управляемый тип: класс gu.webservice.domain.Test atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1694)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:573)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:495)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate (DependencyDescriptor.java:251)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:1135)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1062)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument (ConstructorResolver.java:819)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:725)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] ... 33 общих
кадры опущены. Причина: java.lang.IllegalArgumentException: не
управляемый тип: класс gu.webservice.domain.Test at
org.hibernate.metamodel.internal.MetamodelImpl.managedType (MetamodelImpl.java:473)
~ [hibernate-core-5.2.17.Final.jar: 5.2.17.Final] в
org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation. (JpaMetamodelEntityInformation.java:74)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getEntityInformation (JpaEntityInformationSupport.java:66)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation (JpaRepositoryFactory.java:180)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository (JpaRepositoryFactory.java:118)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository (JpaRepositoryFactory.java:101)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository (RepositoryFactorySupport.java:304)
~ [spring-data-commons-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda $ afterPropertiesSet $ 4 (RepositoryFactoryBeanSupport.java:290)
~ [spring-data-commons-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.util.Lazy.getNullable (Lazy.java:141)
~ [spring-data-commons-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.util.Lazy.get (Lazy.java:63)~ [spring-data-commons-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet (RepositoryFactoryBeanSupport.java:293)
~ [spring-data-commons-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet (JpaRepositoryFactoryBean.java:102)
~ [spring-data-jpa-2.0.11.RELEASE.jar: 2.0.11.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1753)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1690)
~ [spring-beans-5.0.10.RELEASE.jar: 5.0.10.RELEASE] ... 44 общих
кадры опущены
Слушай, мой класс контроллера:
@Controller
@RequestMapping("/start")
public class Controllery {
//private static final org.jboss.logging.Logger logger = LoggerFactory.logger(Controllery.class);
@Autowired
Services test;
public Controllery(Services test) {
//super();
this.test = test;
}
@PostMapping
public List<Test> customercontroll(){
return test.findAllTest();
}
@PostMapping("/employees")
public Test createEmployee(@Valid @RequestBody Test employee) {
return test.SaveTest(employee);
}
И мой интерфейс хранилища:
@Service
public interface TestRepository extends JpaRepository<Test ,Long> {
Test findByLastname();
}
мой класс обслуживания:
package gu.webservice.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import gu.webservice.domain.Test;
@Service
public interface Services{
Test findTestById(Long id);
List<Test>findAllTest();
Test SaveTest(Test test);
//Test findTestByLastName();
}
And Service impl:
package gu.webservice.impl;
import java.util.List;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import gu.webservice.domain.Test;
import gu.webservice.repository.TestRepository;
@Configuration
@EnableWebMvc //THIS
@ComponentScan(basePackages = "guru.services")
public class InterfaceImpl implements Services{
TestRepository test;
Test entity;
public InterfaceImpl(TestRepository test) {
// super();
this.test = test;
}
/*@Override
public Test findTestById(Long id) {
// TODO Auto-generated method stub
return test.getOne(id);
}
*/
@Override
public List<Test> findAllTest() {
// TODO Auto-generated method stub
return (List<Test>) test.findAll();
}
public Test SaveTest(Test test) {
// TODO Auto-generated method stub
return this.test.save(test);
}
/*
@Override
public Test findTestByLastName() {
// TODO Auto-generated method stub
return test.findByLastname();
}
*/
@Override
public Test findTestById(Long id) {
// TODO Auto-generated method stub
return null;
}
}
Класс начальной загрузки:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import gu.webservice.domain.Test;
import gu.webservice.repository.TestRepository;
public class TestBootstrap implements CommandLineRunner {
@Autowired
TestRepository test;
public TestBootstrap(TestRepository test){
this.test=test;
}
@Override
public void run(String... args) throws Exception {
// TODO Auto-generated method stub
Test t=new Test();
t.setId(1);
t.setName("ali");
t.setLastname("rezaii");
test.save(t);
}
}
Может ли кто-нибудь помочь мне решить проблему?