[org.springframework.context.support.GenericApplicationContext] - Refreshing org.springframework.context.support.GenericApplicationContext@6982bec3: startup date [Wed Jun 28 13:39:18 CST 2017]; root of context hierarchy
[org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor] - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
[org.springframework.test.context.TestContextManager] - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@6ff1ac71] to prepare test instance [com.yunwei.mybatis.TestMybatis@63706821]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.yunwei.mybatis.TestMybatis': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.yunwei.user.service.IUserService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, lookup=, authenticationType=CONTAINER)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:307)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:384)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:110)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:319)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:212)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:232)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:175)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.yunwei.user.service.IUserService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, lookup=, authenticationType=CONTAINER)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:441)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:419)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:544)
at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:155)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:304)
... 26 more
[org.springframework.context.support.GenericApplicationContext] - Closing org.springframework.context.support.GenericApplicationContext@6982bec3: startup date [Wed Jun 28 13:39:18 CST 2017]; root of context hierarchy
No qualifying bean of type [XXX.XXXX.XXXXX] foun
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 是谭先生呀 2017-06-28 05:44关注
package com.yunwei.user.service.impl;
import java.util.List;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.LockedAccountException;
import org.apache.shiro.authc.UnknownAccountException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.yunwei.shiro.ShiroKit;
import com.yunwei.user.dao.IRoleDao;
import com.yunwei.user.dao.IUserDao;
import com.yunwei.user.pojo.Role;
import com.yunwei.user.pojo.User;
import com.yunwei.user.pojo.Resource;
import com.yunwei.user.service.IUserService;@Service
public class UserServiceImpl implements IUserService {
private static final Logger logger = LoggerFactory
.getLogger(UserServiceImpl.class);
@Autowired
private IUserDao userDao;
@Autowired
private IRoleDao roleDao;/** * 返回新插入用户数据的主键 * * @param user * @return */ @Override public Integer add(User user) { // 使用用户名作为盐值,MD5 算法加密 user.setPassword(ShiroKit.md5(user.getPassword(), user.getUsername())); userDao.add(user); Integer userID = user.getId(); return userID; } /** * 为单个用户设置多个角色 * * @param user * @param rids */ @Override public void add(User user, List<Integer> rids) { Integer userId = this.add(user); roleDao.addUserRoles(userId, rids); } /** * 根据 user_id 删除用户数据 * * @param id */ @Override public void delete(int id) { userDao.delete(id); } /** * 更新用户数据 1、更新用户基本信息 2、更新用户所属角色 (1)先删除所有的角色 (2)再添加绑定的角色 * * @param user * @param rids */ @Override public void update(User user, List<Integer> rids) { Integer userId = user.getId(); roleDao.deleteUserRoles(userId); roleDao.addUserRoles(userId, rids); this.update(user); } /** * 更新单个用户信息 * * @param user * @return */ @Override public Integer update(User user) { String password = user.getPassword(); if (password != null) { user.setPassword(ShiroKit.md5(user.getPassword(), user.getUsername())); } return userDao.update(user); } /** * 根据主键 id 加载用户对象 * * @param id * @return */ @Override public User load(int id) { return userDao.load(id); } /** * 根据用户名加载用户对象(用于登录使用) * * @param username * @return */ @Override public User loadByUsername(String username) { return userDao.loadByUserName(username); } /** * 登录逻辑 1、先根据用户名查询用户对象 2、如果有用户对象,则继续匹配密码 如果没有用户对象,则抛出异常 * * @param username * @param password * @return */ @SuppressWarnings("unused") @Override public User login(String username, String password) { User user = userDao.loadByUserName(username); if (user == null) { // 抛出对象不存在异常 logger.debug("用户名不存在"); throw new UnknownAccountException("用户名和密码不匹配"); } else if (false) { // !user.getPassword().equals(password) logger.debug("密码错误"); // 抛出密码不匹配异常 throw new IncorrectCredentialsException("用户名和密码不匹配"); } else if (user.getStatus() == 0) { throw new LockedAccountException("用户已经被锁定,请联系管理员启动"); } return user; } /** * 查询所有的用户对象列表 * * @return */ @Override public List<User> list() { return userDao.listUser(); } /** * 根据角色 id 查询是这个角色的所有用户 * * @param id * @return */ @Override public List<User> listByRole(int id) { return userDao.listByRole(id); } /** * 查询指定用户所指定的角色字符串列表 * * @param uid * @return */ @Override public List<Resource> listAllResource(int uid) { return userDao.listAllResources(uid); } /** * 查询指定用户所绑定的角色列表 * * @param uid * @return */ @Override public List<String> listRoleSnByUser(int uid) { return userDao.listRoleSnByUser(uid); } /** * 查询指定用户所绑定的角色列表 * * @param uid * @return */ @Override public List<Role> listUserRole(int uid) { return userDao.listUserRole(uid); }
}
解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?