The following error is reported when the Tomcat server is started:
15:42:20 Org. Apache. Catalina. Core. standardwrappervalve invoke severe: allocate exception For Servlet spring MVC dispatcher servletorg. springframework. Beans. Factory. nosuchbeandefinitionexception: no matching bean of Type [COM. Ait. Ess. Service. impl. modifypasswordserimpl] Found For Dependency: expected at least 1 bean which qualifies as autowire candidate For This Dependency. Dependency Annotations: {@ org. springframework. Beans. Factory. annotation. autowired (required = True )} At org. springframework. Beans. Factory. Support. defaultlistablebeanfactory. raisenosuchbeandefinitionexception (defalistlistablebeanfactory. Java: 924 ) At org. springframework. Beans. Factory. Support. defaultlistablebeanfactory. doresolvedependency (defaultlistablebeanfactory. Java: 793 ) At org. springframework. Beans. Factory. Support. defaultlistablebeanfactory. resolvedependency (defaultlistablebeanfactory. Java: 707 ) At org. springframework. Beans. Factory. annotation. autowiredannotationbeanpostprocessor $ autowiredfieldelement. Inject (autowiredannotationbeanpostprocessor. Java: 478 ) At org. springframework. Beans. Factory. annotation. injectionmetadata. Inject (injectionmetadata. Java: 87) At org. springframework. Beans. Factory. annotation. autowiredannotationbeanpostprocessor. postprocesspropertyvalues (autowiredannotationbeanpostprocessor. Java: 284 ) At org. springframework. Beans. Factory. Support. abstractautowirecapablebeanfactory. populatebean (abstractautowirecapablebeanfactory. Java: 1106 ) At org. springframework. Beans. Factory. Support. abstractautowirecapablebeanfactory. docreatebean (abstractautowirecapablebeanfactory. Java: 517 ) At org. springframework. Beans. Factory. Support. abstractautowirecapablebeanfactory. createbean (abstractautowirecapablebeanfactory. Java: 456 ) At org. springframework. Beans. Factory. Support. abstractbeanfactory $ 1. GetObject (abstractbeanfactory. Java: 294 ) At org. springframework. Beans. Factory. Support. defaultsingletonbeanregistry. getsingleton (defaultsingletonbeanregistry. Java: 225 ) At org. springframework. Beans. Factory. Support. abstractbeanfactory. dogetbean (abstractbeanfactory. Java: 291 ) At org. springframework. Beans. Factory. Support. abstractbeanfactory. getbean (abstractbeanfactory. Java: 193 ) At org. springframework. Beans. Factory. Support. defaultlistablebeanfactory. preinstantiatesingletons (defaultlistablebeanfactory. Java: 585 ) At org. springframework. Context. Support. abstractapplicationcontext. finispolicanfactoryinitialization (abstractapplicationcontext. Java: 913) At org. springframework. Context. Support. abstractapplicationcontext. Refresh (abstractapplicationcontext. Java: 464 ) At org. springframework. Web. servlet. frameworkservlet. configureandrefreshwebapplicationcontext (frameworkservlet. Java: 631 ) At org. springframework. Web. servlet. frameworkservlet. createwebapplicationcontext (frameworkservlet. Java: 588 ) At org. springframework. Web. servlet. frameworkservlet. createwebapplicationcontext (frameworkservlet. Java: 645 ) At org. springframework. Web. servlet. frameworkservlet. initwebapplicationcontext (frameworkservlet. Java: 508) At org. springframework. Web. servlet. frameworkservlet. initservletbean (frameworkservlet. Java: 449 ) At org. springframework. Web. servlet. httpservletbean. INIT (httpservletbean. Java: 133 ) At javax. servlet. genericservlet. INIT (genericservlet. Java: 212 ) At org. Apache. Catalina. Core. standardwrapper. loadservlet (standardwrapper. Java: 1173 ) At org. Apache. Catalina. Core. standardwrapper. Allocate (standardwrapper. Java: 809 ) At org. Apache. Catalina. Core. standardwrappervalve. Invoke (standardwrappervalve. Java: 129) At org. Apache. Catalina. Core. standardcontextvalve. Invoke (standardcontextvalve. Java: 191 ) At org. Apache. Catalina. Core. standardhostvalve. Invoke (standardhostvalve. Java: 127 ) At org. Apache. Catalina. Valves. errorreportvalve. Invoke (errorreportvalve. Java: 102 ) At org. Apache. Catalina. Core. standardenginevalve. Invoke (standardenginevalve. Java: 109 ) At org. Apache. Catalina. connector. coyoteadapter. Service (coyoteadapter. Java: 298 ) At org. Apache. Coyote. http11.http11processor. Process (http11processor. Java: 857) At org. Apache. Coyote. http11.http11protocol $ http11connectionhandler. Process (http11protocol. Java: 588 ) At org.apache.tomcat.util.net. jioendpoint $ worker. Run (jioendpoint. Java: 489 ) At java. Lang. thread. Run (unknown source)
When the problem occurs, the following is set up under the Spring framework:
Controller --> service ---> Dao --->. XML (ibaties configuration file)
Correct format
1. Write the SQ statement to the sqlmodifypassword. xml configuration file.
<? XML version = "1.0" encoding = "UTF-8" ?> <! Doctype sqlmap public "-// ibatis.com//dtd SQL map 2.0 //" http://www.ibatis.com/dtd/sql-map-2.dtd" > < Sqlmap Namespace = "Ess. modifypassword" > < Update ID = "Modifypassword" Parameterclass = "Linkmap" > <! [CDATA [ Update sy_user SET Password = # password # Where person_id = # person_id # And cpny_id = # cpny_id # ]> </ Update > </ Sqlmap >
Add the preceding file to the configuration file sqlmapconfig. xml.
<SqlmapResource= "Com/AIT/ESS/Dao/SQL/sqlmodifypassword. xml" />
2 DAO implementation class notes@ RepositoryFlag
@ Repository Public Class Modifypassworddaoimpl Extends Sqlmapclientsupport Implements Modifypassworddao {@ override Public Boolean Modifypassword (Object OBJ ){ Try { This . Update ("Ess. modifypassword. modifypassword" , OBJ );} Catch (Sqlexception e) {e. printstacktrace (); Return False ;} Return True ;}}
Dao interface -- no special features
Public InterfaceModifypassworddao {/*** Change Password)*/Public BooleanModifypassword (Object OBJ );}
3 service implementation class@ Service flag is very important
@ Service Public Class Modifypasswordserimpl Implements Modifypasswordser {logger Logger = Logger. getlogger (modifypasswordserimpl. Class );@ Autowired Private Modifypassworddao; @ override Public Boolean Modifypassword (httpservletrequest request) Throws Exception { // Todo auto-generated method stub // Submit data on the page Linkedhashmap parammap = Getmapbyrequest (request ); Return This . Modifypassworddao. modifypassword (parammap ); /** * Method description (Chinese and English )* @ Param Parameterobject * @ Return * @ Throws Exception */ } /** * Get search conditions for request encapsulation )** @ Param Request * @ Return */ Private Linkedhashmap getmapbyrequest (httpservletrequest request) {adminbean Admin = Sessionutil. getloginuserfromsession (request ); // Submit data on the page Linkedhashmap parammap =Objectbindutil. getrequestparamdata (request); parammap. Put ( "Person_id" , Admin. getpersonid (); parammap. Put ( "Cpny_id" , Admin. getcpnyid (); parammap. Put ( "Password" , Admin. GetPassword ()); Return Parammap ;}}
Service Interface -- no special features
Public InterfaceModifypasswordser {Public BooleanModifypassword (httpservletrequest request)ThrowsException ;}
Ctroller
@ Controller@ Requestmapping (Value = "/ESS/modify ") Public Class Modifypasswordctroller {logger Logger = Logger. getlogger (modifypasswordctroler.Class );@ Autowired Private Modifypasswordser; /** * Change Password )** @ Param Request * @ Param Response * @ Param Modelmap * @ Return * @ Throws Exception */ @ Suppresswarnings ("unchecked" )@ Requestmapping (Value = "/Modifypassword" ) Public Map <string, Object> Viewpersoninfoapplyconfirmlist (httpservletrequest request, httpservletresponse response, modelmap) Throws Exception {Map <String, Object> map =New Hashmap <string, Object> (); Boolean Result; Try {Result = Modifypasswordser. modifypassword (request ); If (Result) {map. Put ( "Navtabid", "ess0301" ); Map. Put ( "Message", tipmessage. gettipmessage ("alert. Message. hr. modifypassword. modifypassword_success", request )); // The password is successfully modified. Map. Put ("statuscode", "200" ); // Map. Put ("callbacktype", "closecurrent "); } Else {Map. Put ( "Message", tipmessage. gettipmessage ("alert. Message. hr. modifypassword. modifypassword_fail", request )); // Failed to modify my password. Please try again! Map. Put ("statuscode", "300" );}} Catch (Exception e) {e. printstacktrace ();} Return Map; }}