【发布时间】:2019-10-20 19:58:24
【问题描述】:
我一直在寻找这样的东西。
拥有这个 micronaut 应用程序代码
@Configuration
@SpringBootApplication(exclude = {org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration.class,
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration.class,
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class})
@ComponentScan(basePackageClasses = HelloController.class)
public class Application {
public static void main(String[] args) throws Exception {
System.setProperty("akka.config", "/Users/nb38tv/workspace/hello-micronaut/src/main/resources/config/");
System.setProperty("akka.config.file", "application.conf");
ConfigurableApplicationContext springContext = ReactiveConnectorBootable.loadReactiveConnector();
ConfigurableApplicationContext context = new MicronautApplicationContext();
context.setParent(springContext);
context.start();
Micronaut.run(Application.class);
}
}
如何将 Spring 的 ApplicationContext 与 Micronaut 合并。
我需要它,因为我有一个使用 Spring 的 ApplicationContext 注入一些 bean 的库。
然后在我的控制器中我需要使用它。
@Controller("/hello")
public class HelloController {
@Inject
private ReactorConnectorManager<RequestInfoDTO, String> reactorConnectorRestManagerExecutor;
@Get(produces = MediaType.TEXT_PLAIN)
public String index() {
if(reactorConnectorRestManagerExecutor == null){
return "boooo";
}
return "Hello World";
}
}
其中ReactorConnectorManager 是Spring context 中加载的bean
问候
【问题讨论】:
-
您想仅在应用程序启动时对您的 bean 执行操作,还是希望使用 Micronaut 上下文中的 bean?
-
我想在 Micronaut 应用程序中注入 Spring bean,我会更新我的问题
-
我尝试了这段代码并创建了一个简单的应用程序,它似乎工作正常。可以看看吗