springboot整合freemarker摘要

第一步,当然是添加依赖

	 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
     </dependency>

添加好依赖后
springboot会做自动化依赖配置
基本来说不用再做任何配置就可以使用freemarker了。

当然,如果要了解他是如何运行的,还请往下面看

依赖后会有这么一个类

FreeMarkerAutoConfiguration

里面有这么一个注解

@ConditionalOnClass({ freemarker.template.Configuration.class, FreeMarkerConfigurationFactory.class })

大致可以理解为如果咱们有freemarker的依赖项那么下面的配置才会生效
往下看
还有这么一个注解

@Import({ FreeMarkerServletWebConfiguration.class, FreeMarkerReactiveWebConfiguration.class,
		FreeMarkerNonWebConfiguration.class })

看名字大致知道

  1. 为web环境下的freemarker配置
  2. 第二个为Reactive web环境下的freemarker配置
  3. 第三个为javaSE环境下的freemarker配置

那么本文以第一个环境配置为例子
进去后会发现

	@Bean
	@ConditionalOnMissingBean(name = "freeMarkerViewResolver")
	@ConditionalOnProperty(name = "spring.freemarker.enabled", matchIfMissing = true)
	public FreeMarkerViewResolver freeMarkerViewResolver() {
		FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
		getProperties().applyToMvcViewResolver(resolver);
		return resolver;
	}

会有这么一个视图解析器
这也是freemarker的核心配置

不知大家发现没有,这里有这么一个注解

@ConditionalOnMissingBean(name = "freeMarkerViewResolver")

简单来说就是 如果你已经自己定义了一个名字为’freeMarkerViewResolver’的视图解析器
那么spring的就不会生效 没有则反之

这也体现了spring“约定大于配置”的理念
即:如果你配置了那么就用你的,如果你没配置就用spring的
这在spring大多数源码里大家都可以看到
这里不做过多赘述

最后一个
freemarker默认的访问路径是在根目录resources下的templates目录里
在FreeMarkerAutoConfiguration类里有这么一个注解

@EnableConfigurationProperties(FreeMarkerProperties.class)

点进去会发现

@ConfigurationProperties(prefix = "spring.freemarker")

有这么一个注解
类型安全的属性注入
前缀为spring.freemarker
下面有这么几个配置项

public static final String DEFAULT_TEMPLATE_LOADER_PATH = "classpath:/templates/";

public static final String DEFAULT_PREFIX = "";

public static final String DEFAULT_SUFFIX = ".ftl";

以第一个为例
这个就是freemarker默认的访问路径

在springboot的application.properties里就可以进行配置

spring.freemarker.template-loader-path=你自己的路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值