org.springframework.beans.factory.NoSuchBeanDefinitionException:[com.library.service]タイプの適格なBeanがありません。 BookService]が依存関係のために見つかりました:この依存関係のautowire候補となる少なくとも1つのbeanが必要です。依存関係注釈:{@ org.springframework.beans.factory.annotation.Autowired(必須= true)} org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:988) org.springframework.beans。 factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:858) org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement。注射(AutowiredAnnotationBeanPostProcessor.java:486) org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) org.springframework.beans.factory.annotation.AutowiredAnnot ationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1116) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295) org.springframework。 beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abs tractBeanFactory.java:292) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628) ORG .springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet org.springframework.web.servlet.FrameworkServlet.c reateWebApplicationContext(FrameworkServlet.java:665) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:518) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:459) org.springframework .web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:423) または(AbstractProtocol.java:625) org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.doRun(AprEndpoint.java:2522) org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run(AprEndpoint.java:2511) java.util.concurrent.ThreadPoolExecutor。runWorker(不明なソース) java.util.concurrent.ThreadPoolExecutor $ Worker.run(不明なソース) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) java.lang.Thread .RUN(不明なソース)NoSuchBeanDefinitionException:[com.library.service.BookService]タイプの適格なBeanが依存関係に見つかりませんでした。少なくとも1つのbeanが必要です。
****マイライブラリ-servlet.xml ****
<!-- Use @Component annotations for bean definitions -->
<context:component-scan base-package="com.library" />
<mvc:annotation-driven />
<!-- View resolver -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- TX -->
<bean id="global-tm" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="global-em" />
</bean>
<!-- Entity Manager -->
<bean id="global-em"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:packagesToScan="com.library.entity" p:dataSource-ref="dataSource"
p:jpaVendorAdapter-ref="jpaVendorAdapter" />
<bean id="jpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false" />
<property name="generateDdl" value="false" />
<property name="databasePlatform" value="${jpa.hibernate.dialectClass}" />
</bean>
<!-- Transaction -->
<tx:annotation-driven transaction-manager="global-tm" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/library" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
私のweb.xml
<!-- The front controller of this Spring Web application, responsible for
handling all application requests -->
<servlet>
<servlet-name>Library</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Library-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>Library</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:jpaContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<display-name>Archetype Created Web Application</display-name>
私のコントローラ
@Autowired
BookService bookService;
private static final Logger LOG = Logger.getLogger(BookController.class);
@RequestMapping(value = "/bookEntry")
public String bookEntry(Model model) {
LOG.info("Displaying book entry form");
BookCommandForm bookCommandForm = new BookCommandForm();
model.addAttribute(bookCommandForm);
String view = "BookEntry";
return view;
}
@RequestMapping(value = "/bookSaved")
public String saveBook(Model model,
@ModelAttribute("bookCommandForm") BookCommandForm bookCommandForm) {
LOG.info("New book Registration begins.");
BookDTO bookDTO = new BookDTO();
bookDTO.setBookName(bookCommandForm.getBookName());
bookDTO.setBookAuthor(bookCommandForm.getBookAuthor());
bookDTO.setBookEdition(bookCommandForm.getBoookEdition());
bookService.saveBook(bookDTO);
LOG.info("New book registered successfully.");
String view = "BookSaved";
return view;
}
'BookService.java'に' @Service'が付いていることを確認してください。 – Arpit
解決に感謝します! –