当前位置: 首页 > 知识库问答 >
问题:

注入点有以下注释

郭彬郁
2023-03-14

我有一个pb,我找不到解决方案,因为我认为我的项目中有多个pb相关:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-07-22 14:28:12.551 ERROR 6272 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field connexionRepository in com.example.demo.service.UserConnexionService required a bean of type 'com.example.demo.dao.UserConnexionRepository' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'com.example.demo.dao.UserConnexionRepository' in your configuration.
package com.example.demo.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.example.demo.dao.UserConnexionRepository;
import com.example.demo.entities.UserConnexion;

@Transactional
@Service
public class UserConnexionService implements IUserService {
        @Autowired(required = true)
        private BCryptPasswordEncoder bCryptPasswordEncoder;

        @Autowired(required = true)
        private UserConnexionRepository connexionRepository;    
        
        
        
        @Autowired(required = true)
        @Qualifier("connexionRepositoryService")
        public void setConnexionRepository(UserConnexionRepository connexionRepository) {
            this.connexionRepository = connexionRepository;
        }

        public UserConnexion modifyVente(int id, UserConnexion user) {
            user.setId(id);
            return connexionRepository.save(user);
            
        }

        public UserConnexion saveNewUser(UserConnexion user) {
            String hashPW =bCryptPasswordEncoder.encode(user.getPassword());
            user.setPassword(hashPW);
            return connexionRepository.save(user);
            
        }

        public void deleteUser(int id) {
            
            connexionRepository.deleteUser(id);
            
        }

        @Override
        public UserConnexion getUser(String identifiant, String password) {
            UserConnexion user = connexionRepository.findUser(identifiant, password);
            
            if(user==null){
                throw new RuntimeException("user introuvable !");
            }
            return user;
        }

        @Override
        public List<UserConnexion> getUserByMC(String mot) {
            List<UserConnexion> user = connexionRepository.findUserByMC(mot);
    
            if(user==null){
                throw new RuntimeException("user introuvable !");
            }
            return user;
        }

        @Override
        public UserConnexion findUserByIdentifiant(String identifiant) {
            UserConnexion user = connexionRepository.findUserByIdentifiant(identifiant);
            return user;
        }

}
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;

import com.example.demo.entities.UserConnexion;


public interface UserConnexionRepository extends JpaRepository<UserConnexion, Long> {   
    
    @Query(value="SELECT * FROM user", nativeQuery = true)
    public UserConnexion findUser(@Param("username")String username, @Param("password")String password);
    
    @Query(value="SELECT * FROM user u where u.identifiant LIKE :login", nativeQuery = true)
    public UserConnexion findUserByIdentifiant(@Param("login")String login);
    
    @Query(value="SELECT * FROM user u where u.nom LIKE %:mot% OR u.prenom LIKE %:mot%", nativeQuery = true)
    public List<UserConnexion> findUserByMC(@Param("mot")String mot);

    @Modifying
    @Transactional
    @Query(value="DELETE FROM user WHERE user.id= :id", nativeQuery = true)
    public void deleteUser(@Param("id")int id);
    
}

有人能帮我吗?我可以给你链接到git存储库,也可以看到所有的项目。谢谢。

共有1个答案

谢财
2023-03-14

您不需要两者:

 @Autowired(required = true)
    private UserConnexionRepository connexionRepository;    
    
    
    
    @Autowired(required = true)
    @Qualifier("connexionRepositoryService")
    public void setConnexionRepository(UserConnexionRepository connexionRepository) {
        this.connexionRepository = connexionRepository;
    }

只要加上:

@Autowired
private UserConnexionRepository connexionRepository;   
 类似资料:
  • 服务类别: 配置类: 属性文件 我正在尝试读取file upload属性并将其传递给controller类。

  • 我正在使用Spring AOP进行日志记录。我想创建一个切入点,该切入点适用于除具有特定注释的方法外的所有方法,但我不知道如何进行。我所发现的只是如何包含带有注释的方法。

  • 我有一个叫做Container的类: ServiceB依赖于ServiceA: 在我的应用程序中可以有几个容器。现在,有没有什么诀窍可以将这个已经被注入到与ServiceB相同的容器实例中的ServiceA实例注入到ServiceB中呢?

  • 我试图在方法注释上创建一个Aeyj切入点,但我总是用不同的方法失败。我使用的是aspectj自动代理(我在Spring上下文中没有配置其他编织)。我的类如下所示: 所以我想知道为什么aspectj不会创建切入点。我设法使用执行(**(…)使其工作抛出一些exc)这对我来说很好,但我仍然想知道我做错了什么。 另外,由于是在接口中定义的,我指定了实现类的注释,有没有办法让它以这种方式工作?其他代理机制

  • 我不能用“”运算符和多个注释来做切入点。我试图为一些JBehave注释创建一个切入点(@givid、@then、@when)。 为这三个注释创建切入点的语法是什么?因为我在其他切入点中使用了逻辑OR运算符,所以我假设它类似于: 但是它不起作用,我得到一个不一致的绑定异常。我尝试了其他组合,但找不到一个这样做的诀窍。

  • 理解DLL 首先我们需要知道我们在启动一个程序的时候并没有把所有的需要用到的数据或者文件运行起来,而是只运行了关键部分,那么当我们需要调用到某一功能时再通过DLL来动态链接,不需要时就可以卸载,使得程序不显得臃肿。 DLL注入是什么 DLL注入就是将代码插入/注入到正在运行的进程中的过程。我们注入的代码是动态链接库(DLL)的形式。为什么可以做到这一点?因为DLL(如UNIX中的共享库)是在运行时