IDEA匿名内部类代码折叠后的形式

记录今天学习黑马的Spring高级时遇到的问题。满老师在讲返回值处理器的时候,由于不想走tomcat服务器的方式渲染视图,采用了FreeMarker模版引擎来渲染。

视频中的配置类如下:

因为没有对应的源代码,这里的形式看的像lambda表达式但是却不是。在困扰的时候,突然发现旁边有有一个小O标志,应该是重写的意思。那么就是说,这里是重写了某个方法。

为什么要重写呢?因为在讲课中经常有些类的方法是受保护的,除了采用反射的方式来获取,另外一种方式就是子类重写。而这里是采用匿名内部类的方式进行重写的。所以其实代码应该如下:

@Configuration
public class WebConfig {

    @Bean
    public FreeMarkerConfigurer freeMarkerConfigurer() {
        FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
        configurer.setDefaultEncoding("utf-8");
        configurer.setTemplateLoaderPath("classpath:templates");
        return configurer;
    }

    @Bean // FreeMarkerView在借助Spring初始化时, 会要求web环境才会走setConfiguration, 这里想办法去掉了web环境的约束
    public FreeMarkerViewResolver viewResolver(FreeMarkerConfigurer configurer) {

        FreeMarkerViewResolver resolver = new FreeMarkerViewResolver() {
            @Override
            protected AbstractUrlBasedView instantiateView() {
                FreeMarkerView view = new FreeMarkerView() {
                    @Override
                    protected boolean isContextRequired() {
                        return false;
                    }
                };
                view.setConfiguration(configurer.getConfiguration());
                return view;
            }
        };
        resolver.setContentType("text/html;charset=utf-8");
        resolver.setPrefix("/");
        resolver.setSuffix(".ftl");
        resolver.setExposeSpringMacroHelpers(false);
        return resolver;
    }
}

而IDEA一折叠后,就变成了上面的模样。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值