第十五章、Spring Boot 知识点3

18 篇文章 0 订阅
18 篇文章 0 订阅

课时六十七、Spring Boot Freemarker特别篇之contextPath

(1)问题的提出

我们有时候需要在freemarker模板文件.ftl中获取contextPath,如果没有配置一些参数的话,那么是无法进行获取的。

(2)spring中是如何定义requestContextAttribute的

在spring 中是使用配置文件的方法进行配置指定的,如下:

<property name="requestContextAttribute" value="request"/>

    配置完之后,我们就可以在我们的x.ftl文件中使用如下代码进行
引入使用:
${request.contextPath}。
 

(3)Spring Boot应该如何定义呢

                 

(4)有更好的解决方案嘛?

以上方式虽然也能解决问题,但是总觉得绕了一个圈子,我们原本使用freemarker的时候,我们使用的是在配置文件application.properties文件进行使用的,现在又回到了代码的方式去引入了,那么要思考下我们可不可以在application.properties进行直接指定呢,答案是可以的。我们只需要在application.properties中添加如下配置:
    spring.freemarker.request-context-attribute=request
    那么就可以在ftl文件中进行使用${request.contextPath}了。

(5)总结

本文说了这么说,其实很简单就两个步骤:

1、在application.properties添加如下信息:
spring.freemarker.request-context-attribute=request

2、在x.ftl文件中进行使用:
${request.contextPath}

课时六十八、Spring Boot打印所有Spring载入的bean

问题引入

我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什么原因呢,有时候挺难定位的,当然这个也需要养成良好的编码习惯,这样也会降低出错的几率。 那么一般说是No quanlifying bean很有可能就是我们没有使用注解或者xml注入我们的bean,要么就是我们bean的名称不是我们注入时指定的名称,那么我们就会想如何查看已经载入到spring boot的bean呢?
其实这个操作起来很简单,看如下介绍知道了。

第一种情况获取所有的beans

ApplicationContext  ctx =  SpringApplication.run(App.class, args);
        String[] beanNames =  ctx.getBeanDefinitionNames();
        System.out.println("所以beanNames个数:"+beanNames.length);
        for(String bn:beanNames){
            System.out.println(bn);
        }

第二种情况获取我们指定的注解类

/**
         * @Service
         * @RestController
         * @Componment

         * **/
        String[] beanNames1 =  ctx.getBeanNamesForAnnotation(RestController.class);
        System.out.println("RestController:"+beanNames1.length);
        for(String bn:beanNames1){
            System.out.println(bn);
        }
    }

参考:spring-boot-jersey

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值