当前位置: 首页 > 知识库问答 >
问题:

带Spring Boot自动配置的Grails 3

闾丘冠玉
2023-03-14

但是在我们的Grails(3.0.7)应用程序中,Spring Boot自动配置不会启动。有没有人有办法让带有Spring Boot autoconfigure的Grails工作呢?

共有1个答案

宁浩博
2023-03-14

找到问题了。Spring Boot的@autocigure最终还是起作用了。

尝试使用SpringRestTemplate进行rest with Ribbon时出现问题:

class MyController {

    RestTemplate restTemplate

    def index() {
        def result = restTemplate.getEntity("http://my-service/whatever", Void.class) // call gives nullPointerException due restTemplate is not injected
        render "Response: $result"
    }
}

因为Spring Boot注册了启用功能区的RestTemplatebean,而不是bean名RestTemplate,所以基于Grails约定的注入机制(字段名必须匹配bean名)不起作用。要解决这个问题,需要将@AutoWiredRestTemplateRestTemplate字段,并让Spring进行注入。

class MyController {

    @AutoWired
    RestTemplate restTemplate

    def index() {
        def result = restTemplate.getEntity("http://my-service/whatever", Void.class) // restTemplate is now injected using Spring instead of Grails
        render "Response: $result"
    }
}

 类似资料:
  • 4.1 根据条件的自动配置 @conditional是基于条件的自动配置,一般配合Condition接口一起使用,只有接口实现类返回true,才装配,否则不装配. 用实现了Condition接口的类传入@Conditional中 @Conditional可以标记在配置类的方法中,也可以标记在配置类上.标记的位置不同,作用域不同. @Conditional可以传入多个实现了condition接口的类

  • 本文向大家介绍浅谈springboot自动配置原理,包括了浅谈springboot自动配置原理的使用技巧和注意事项,需要的朋友参考一下 从main函数说起 一切的开始要从SpringbootApplication注解说起。 其中最重要的就是EnableAutoConfiguration注解,开启自动配置。 通过Import注解导入AutoConfigurationImportSelector。在这

  • 本机Spring Boot自动配置(例如one)也可以检测主类中声明的bean(例如注释的方法)。 如何对主类中声明的bean进行正确的bean检测? 编辑

  • 我将使用Ehcache和Springboot。我只是想知道在处理大量请求时,什么会是最佳配置。 在直播期间,我们可能会收到超过30000 req/h。虽然在开发中,我们无法生成此方案。 你能帮我如何计算内存,以创建一个最佳配置,应在Prod中完美工作。 我检查了Postman中的响应大小,在Dev中为3-5 kb,因此我保留了以下配置,但不确定它会有多好。我们的内存大小为2GB(在prod中,我们

  • 主要内容:1.分析,2.样例讲解1,3.样例讲解2,4.总结1.分析 先看@SpringBootApplication @SpringBootConfiguration:标记当前类为配置类 @EnableAutoConfiguration:开启自动配置 @ComponentScan:扫描主类所在的同级包以及下级包里的Bean @EnableAutoConfiguration: @Import(AutoConfigurationImportSelector.

  • 主要内容:1.SpringBoot自动装配原理,2.BeanFactory和ApplicationContext的区别,3.Spring容器是什么1.SpringBoot自动装配原理 BFPP:BeanFactoryPostProcessor BPP:BeanPostProcessor BDRPP:BeanDefinitionRegistryPostProsessor 1.当启动SpringBoot程序时候,创建SpringApplication的对象,在对象的构造方法中进行对某些参数的初始化工