TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
启动TOMCAT服务器 报如下错误
- 2013-2-2 15:42:20 org.apache.catalina.core.StandardWrapperValve invoke
- 严重: Allocate exception for servlet Spring MVC Dispatcher Servlet
- org.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(DefaultListableBeanFactory.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.finishBeanFactoryInitialization(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)
复制代码
问题出现背Spring 框架下面 建立如下
Controller --> Service --->Dao --->.xml (ibaties配置文件)
正确格式
1 将SQ语句写入sqlModifyPassword.xml配置文件
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE sqlMap
- PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
- "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>
复制代码
将上述文件添加入总配置文件 sqlMapConfig.xml
- <sqlMap resource="com/ait/ess/dao/sql/sqlModifyPassword.xml" />
复制代码
2 DAO实现类 注意@Repository 标志
- @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 接口 --无特殊之处
- public interface ModifyPassWordDao {
- /**
- * 修改密码(change password)
-
- */
- public boolean modifyPassword(Object obj);
- }
复制代码
3 Service 实现类 @Service 标志很重要
- [b]@Service
- [/b]public class ModifyPassWordSerImpl implements ModifyPassWordSer {
- Logger logger = Logger.getLogger(ModifyPassWordSerImpl.class);
- [b] @Autowired
- [/b]private ModifyPassWordDao ModifyPassWordDao;
-
-
- @Override
- public boolean modifyPassword(HttpServletRequest request) throws Exception {
- // TODO Auto-generated method stub
- // 页面提交数据
- LinkedHashMap paramMap = getMapByRequest(request);
- return this.ModifyPassWordDao.modifyPassword (paramMap);
- /**
- * 方法说明(中文,英文)
- * @param parameterObject
- * @return
- * @throws Exception
- */
- }
- /**
- * 通过request请求封装查询条件(get search conditions for request)
- *
- * @param request
- * @return
- */
- private LinkedHashMap getMapByRequest(HttpServletRequest request) {
- AdminBean admin = SessionUtil.getLoginUserFromSession(request);
- // 页面提交数据
- 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 接口 -- 无特殊之处
- public interface ModifyPassWordSer {
- public boolean modifyPassword(HttpServletRequest request)
- throws Exception;
- }
复制代码
Ctroller
- [b]@Controller
- @RequestMapping(value [/b][b]= "/ess/modify")
- [/b]public class ModifyPassWordCtroller {
- Logger logger = Logger.getLogger(ModifyPassWordCtroller.class);
-
-
- [b] @Autowired
- [/b]private ModifyPassWordSer modifyPassWordSer;
- /**
- * 密码修改(change password)
- *
- * @param request
- * @param response
- * @param modelMap
- * @return
- * @throws Exception
- */[b]
- @SuppressWarnings("unchecked"[/b][b])[/b]
- @RequestMapping(value = "/ModifyPassword")
- public Map<String, Object> viewPersonInfoApplyConfirmList(
- HttpServletRequest request, HttpServletResponse response,
- ModelMap 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));//个人密码修改成功
- map.put("statusCode", "200");
- // map.put("callbackType", "closeCurrent");
- } else {
- map.put("message", TipMessage.getTipMessage("alert.message.hr.modifypassword.modifypassword_fail",request));//个人密码修改失败,请重试!
- map.put("statusCode", "300");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return map;
-
- }
- }
复制代码
|
|