当我启动我的spring-boot应用程序时,我有这样的消息:
com.gisapp.services.impl.userservice中的字段userDAO需要类型为“com.gisapp.gisapp.dao.IUserdao”的bean,但找不到该bean。
注入点有以下注释:-@org.springframework.beans.factory.annotation.AutoWired(required=true)
行动:
考虑在配置中定义一个类型为“com.gisapp.gisapp.dao.IUserDAO”的bean。
我在其他与此问题相关的帖子中读到的内容是,我必须配置注释@ComponentScan,但它不起作用
package com.gisapp.gisapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan("com.gisapp")
public class GisappApplication {
public static void main(String[] args) {
SpringApplication.run(GisappApplication.class, args);
}
}
@Service
public class UserService implements IUserService {
@Autowired
IUserDAO userDAO;
@Override
@Transactional(readOnly=true)
public Object login() {
return userDAO.login();
}
}
package com.gisapp.gisapp.dao.impl;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import com.gisapp.gisapp.dao.IUserDAO;
import com.gisapp.models.entity.User;
public class UserDAO implements IUserDAO{
@Override
public Object login() {
StringBuilder query = new StringBuilder();
query.append("SELECT * FROM User");
EntityManager em = null;
Query q = em.createNativeQuery(query.toString());
List<User> result=q.getResultList();
return result;
}
}
1)添加@repository
注释,以便将DAO作为bean加载到spring上下文中:
@Repository
public class UserDAO implements IUserDAO{
2)只是在旁边..您很可能还应该在其中注入EntityManager
:
@PersistenceContext
private EntityManager em;
包名:com.sample 现在,当我把所有文件放在一个包下时,它工作得很好。但当我根据功能进行分配时,错误就会发生。我该如何解决这个问题。 按照下面的建议添加basepackages后,我收到的错误为
我是spring的初学者。所以现在我开始学习spring boot并构建这个简单的项目,但是当我运行它时,我得到了这样的错误“Field entityManager in sagala.rest.boot.remade.dao.EmployeeDaoImpl required a bean of type'javax.persistence.entityManager'that count fou
我对整个Spring的生态系统都是陌生的。我一直在学习一些教程,能够创建一个Spring Boot应用程序并执行crud操作。然后我开始把这个项目改成mybatis的标准。 我已经尝试了许多其他类似问题的答案,但到目前为止没有一个是有效的。 下面是问题陈述: 实现类实现为: 我的Mapper类如下所示: 我的Mapper.xml课是: 最后是我的控制器类: 我得到的错误是: 描述: com.cru