我已经读了这些问题,但没有一个有效:
Spring boot MVC -无法自动连接服务类中的存储库
为什么不能@Autowired a JPA存储库-Spring boot JPA
JpaRepository在服务类中获取Null
还有这个:https://www.baeldung.com/spring-autowired-field-null
不幸的是,它们都不起作用。
我拥有的是:
服务接口:
@Service
public interface DayTradeService {
public List<DayTrade> getDayTrades(List<NotaDeCorretagem> corretagens);
}
服务实施:
public class DayTradeServiceImpl implements DayTradeService {
@Autowired
private DayTradeRepository dayTradeRepository;
@Override
public List<DayTrade> getDayTrades(List<NotaDeCorretagem> corretagens) {
// Several lines of code and some of them is trying to use dayTradeRepository.
}
}
我的DayTradeRepository:
@Repository
public interface DayTradeRepository extends JpaRepository<DayTrade, Integer> {}
在我的日间贸易控制器
(用@Controller
注释),我可以使用带有@Autowired
的日间贸易存储库。但是在服务类中,我无法使用。我收到以下消息:
Cannot invoke "meca.irpf.Repositories.DayTradeRepository.getDayTrades()" because "this.dayTradeRepository" is null"
我怎样才能让它成为可能?
在我接受Nikita的回答后编辑:
我没有发布< code >控制器代码,但是它没有服务类< code>DayTradeServiceImpl的< code>@Autowired。这就是我忽略的一点。尼基塔指出后,我可以解决这个问题。
您不需要创建新对象。你必须这样打电话:
@Controller
@RequestMapping("/test")
public class TestController {
@Autowired
private DayTradeServiceImpl dayTradeService;
@GetMapping(value = "/get")
public void getTrades() {
dayTradeService.getDayTrades(...);
}
}
并为DayTradeServiceImpl设置注释@Service。
@Service
public class DayTradeServiceImpl implements DayTradeService {
@Autowired
private DayTradeRepository dayTradeRepository;
@Override
public List<DayTrade> getDayTrades(List<NotaDeCorretagem> corretagens) {
// Several lines of code and some of them is trying to use dayTradeRepository.
}
}
Spring框架使用控制反转,它具有用于bean的容器。对于检测bean,请使用以下注释:@Service、@Component、@Repository。
在我的服务类中,我有@Autowired HttpServletRequest,并且在我的服务方法中使用相同的对象,但是对于那个服务方法测试类,我不能在我的测试方法中模拟HttpServletRequest对象,请检查下面的代码。我正在获取请求对象的空指针异常
这是我的spring控制器类KalamController Hibernate配置xml文件 EmployeeServiceImpl.Java档案 最后是 当我运行程序时,我得到以下错误 请告诉我哪里出了问题。我是否忘记了xml文件中的任何配置?我的意图是了解如何使用@AutoWired注释在controller中调用服务。
我使用的是spring boot,我有一个从数据库中存储/检索一些数据的服务。我想使用一个石英工作使用我的服务。我从网上尝试了很多建议,想把石英和spring boot整合起来,但都不奏效。 这是我的代码: 1)我添加了org.quartz-scheduler作为pom.xml中的依赖项: 2)这是我的应用程序。配置为将mysql用作我的服务的数据库的属性: 3)这是我的服务: 4)调度程序类:
有没有可能在科特林做类似跟随的事情?
我有一些UserService对用户实体进行操作。我创建了自己的注释和ConstraintValidator类作为实现 我需要将UserService注入到ConstraintValidator中。而且,正如spring文档所说,在注册bean之后: 不幸的是,它对我没有作用。我在字段(在实现ConstraintValidator的类内)使用NullPointerException累加stackt
现在,我在src/test/resources/application.yml中也有source.storage属性,该属性指向src/test中的另一个目录,在该目录中存储测试XML文件,并再次使用@value注释将它们导入到测试类中。我的测试使用HTTP GET调用RESTendpoint。但是,服务似乎仍然将source.storage属性绘制为main application.yml,而我