小编Fun*_*ter的帖子

Spring @Autowired 在某些类中不起作用

所以我使用 Spring 来访问我的数据库并根据不同的属性获取用户。通过 @Restcontroller 我得到了数据。我创建了一个扩展了 CrudRepository 的 UserRepository。

import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Integer> {
Iterable<User> findByNachname(String nachname);

    Iterable<User> findByRolle(Rolle rolle);

    Optional<User> findByBenutzername(String benutzername);

    @Transactional
    String deleteByBenutzername(String benutzername);
}
Run Code Online (Sandbox Code Playgroud)

我使用 @Autowire 在我的控制器类中获取 UserRepo 的实例

@RestController
public class LoginController {
    @Autowired
    private UserRepository userRepository;
}
Run Code Online (Sandbox Code Playgroud)

这在我拥有的所有控制器中都工作得很好。但现在,当我在另一个类中尝试相同的操作时,userRepository 实例为空。

public class Authentificator {
    @Autowired
    private UserRepository userRepository;
}
Run Code Online (Sandbox Code Playgroud)

Authentificator 和 LoginController 不在同一个包中。但两者并不与 UserRepo 在同一个包中。

  • 项目
    • UserRepo 包
    • 控制器包
    • 验证器包

java spring spring-repositories

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

spring ×1

spring-repositories ×1