Java 如何使用在配置类中定义的方法?

Java 如何使用在配置类中定义的方法?,java,spring-boot,Java,Spring Boot,我在一个项目中创建了一个配置类,定义了一个方法,并尝试在另一个项目中导入一个配置并调用定义的方法,但是我得到了null指针异常 我用config类创建了bean,并尝试使用autowire注释,但它对我不起作用 projectA: @Configuration public class DepositServiceConfig { @Bean public DepositService depositService() { return new Depo

我在一个项目中创建了一个配置类,定义了一个方法,并尝试在另一个项目中导入一个配置并调用定义的方法,但是我得到了null指针异常

我用config类创建了bean,并尝试使用autowire注释,但它对我不起作用

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.
    }

如何使用config类中定义的depositService()bean而不出现空指针异常

@Component
添加到
公共类depositService
解决了您的问题。您必须将DepositService指定为spring组件,才能获得托管bean

您错误地自动连接了DepositServiceConfig,它是一个配置,不应自动连接。您需要在ClientDeposits类中自动连接DepositService并使用该bean。我在ClientDeposits中尝试了@Autowired DepositService DepositService,但仍然得到null异常不需要在DepositService类上注释@component,因为它已经在配置中创建了。