Spring 如何将JpaRepository注入非服务类

Spring 如何将JpaRepository注入非服务类,spring,Spring,我有这样的界面 @Repository public interface CarRepository extends JpaRepository<Car, Long> { } @存储库 公共接口CarRepository扩展了JpaRepository{ } 在adnotated@RestController类中,Spring能够与适当的字段连接 但是,如果我想在spring中创建没有任何adnotation的类,我该怎么做呢?我必须创建此存储库的实现吗?如果是的话,我能像春天那

我有这样的界面

@Repository
public interface CarRepository extends JpaRepository<Car, Long> {
}
@存储库
公共接口CarRepository扩展了JpaRepository{
}
在adnotated@RestController类中,Spring能够与适当的字段连接

但是,如果我想在spring中创建没有任何adnotation的类,我该怎么做呢?我必须创建此存储库的实现吗?如果是的话,我能像春天那样做吗

注射

private final ConfigurableApplicationContext ConfigurableApplicationContext

到实例化所需类的类中。然后打电话:

YourClass YourClass=(YourClass)configurableApplicationContext.getBeanFactory().initializeBean(新YourClass(),“YourClassName”)

然后,您的类将保存您的类的一个实例,该实例已被初始化,就好像它是一个Spring
@组件
(或者一个
@RestController
,从依赖项注入的角度来看是相同的)


可能重复你为什么需要它?单元测试?只有代码的答案质量很低。请尝试添加一个解释。
@SpringBootApplication
public class MainApplication  extends SpringBootServletInitializer implements ApplicationContextAware {

    private static ApplicationContext appContext;

    public static void main(String[] args) {
        SpringApplication.run(CrawlerApplication.class, args);
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.appContext = applicationContext;
    }
MainApplication.getAppContext().getBean(CarRepository.class)