我在一个项目中创建了一个配置类,定义了一个方法,并尝试在另一个项目中导入配置并调用定义的方法,但出现空指针异常。
我使用配置类创建了 bean,并尝试使用 Autowiring 注释,但它对我不起作用
projectA:
@Configuration
public class DepositServiceConfig
{
@Bean
public DepositService depositService()
{
return new DepositService(depositModel.user_permisisons);
}
}
public class DepositService
{
private final DepositModel model;
public DepositService(depositModel model)
{
this.model = model;
}
public boolean hasRestrictions(string access)
{
return //
}
}
ProjectB:
@Import({
DepositServiceConfig.class,
})
public class DepositApp{
public static void main(String[] args)
{
SpringApplication.run(DepositApp.class, args);
}
}
@Component
public class ClientDeposits
{
@Autowired DepositServiceConfig depositConfig;
public boolean checkrestrcitions(){
if(depositConfig.depositService().hasRestrictions(access)) -- here i am getting null pointer exception.
}
如何使用配置类中定义的depositService() bean而不出现空指针异常
最佳答案
将@Component
添加到public class DepositService
可以解决您的问题。您必须将 DepositService 指定为 spring 组件才能获取托管 bean。
关于java - 如何使用配置类中定义的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57896035/