为了账号安全,请及时绑定邮箱和手机立即绑定

在Spring启动应用程序中共享类的实例

在Spring启动应用程序中共享类的实例

翻阅古今 2019-04-20 18:15:42
我有一个特定的类用于与需要初始化的服务进行交互。在应用程序生命周期中,唯一有意义的地方是应用程序的开始,因为没有它,Spring应用程序的其余部分无法运行。我有这个想法:@SpringBootApplicationpublic class MyApplication {     public static void main(String[] args) {         try {             MyRequiredService mrs = new MyRequiredService();             mrs.connect(); // This will throw if it fails             run(MyApplication.class, args);         } catch(MyException e) {             System.out.println("Failed to connect to MyRequiredService!");         }     }}这将启动服务并尝试连接,但我有一个大问题。如何在应用程序中传递此类?我需要它在我写的服务端点中的功能。我没有看到任何明显的东西,并且搜索“在Spring启动应用程序中传递类实例”会出现一堆无关的主题。春季靴子是否有一种聪明,干净的方式来做到这一点?我为一个人为的例子道歉。服务的名称是唯一的,我不想违反任何协议。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

一个类实现BeanFactoryPostProcessor,它在普通bean之前是init


@Configuration

public class MyRequiredService implements BeanFactoryPostProcessor, 

PriorityOrdered, InitializingBean {


@Override

public int getOrder() {

    return Integer.MIN_VALUE;

}


public void connect() {

    // ...

}



@Override

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {


}



@Override

public void afterPropertiesSet() throws Exception {

        connect();

}

}


查看完整回答
反对 回复 2019-05-15
  • 3 回答
  • 0 关注
  • 526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信