Spring教程(完整版)
- 格式:pptx
- 大小:711.43 KB
- 文档页数:145


SpringBoot2系列教程(⼗)SpringBoot整合Freemarker今天来聊聊 Spring Boot 整合 Freemarker。
Freemarker 简介这是⼀个相当⽼牌的开源的免费的模版引擎。
通过 Freemarker 模版,我们可以将数据渲染成 HTML ⽹页、电⼦邮件、配置⽂件以及源代码等。
Freemarker 不是⾯向最终⽤户的,⽽是⼀个 Java 类库,我们可以将之作为⼀个普通的组件嵌⼊到我们的产品中。
来看⼀张来⾃ Freemarker 官⽹的图⽚:可以看到,Freemarker 可以将模版和数据渲染成 HTML 。
Freemarker 模版后缀为.ftl(FreeMarker Template Language)。
FTL 是⼀种简单的、专⽤的语⾔,它不是像 Java 那样成熟的编程语⾔。
在模板中,你可以专注于如何展现数据,⽽在模板之外可以专注于要展⽰什么数据。
好了,这是⼀个简单的介绍,接下来我们来看看 Freemarker 和 Spring Boot 的⼀个整合操作。
实践在 SSM 中整合 Freemarker ,所有的配置⽂件加起来,前前后后⼤约在 50 ⾏左右,Spring Boot 中要⼏⾏配置呢? 0 ⾏!1.创建⼯程⾸先创建⼀个 Spring Boot ⼯程,引⼊ Freemarker 依赖,如下图:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>⼯程创建完成后,在org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration类中,可以看到关于 Freemarker 的⾃动化配置:@Configuration@ConditionalOnClass({ freemarker.template.Configuration.class, FreeMarkerConfigurationFactory.class })@EnableConfigurationProperties(FreeMarkerProperties.class)@Import({ FreeMarkerServletWebConfiguration.class, FreeMarkerReactiveWebConfiguration.class,FreeMarkerNonWebConfiguration.class })public class FreeMarkerAutoConfiguration {}从这⾥可以看出,当classpath下存在freemarker.template.Configuration以及FreeMarkerConfigurationFactory时,配置才会⽣效,也就是说当我们引⼊了Freemarker之后,配置就会⽣效。
【微框架】之⼀:从零开始,轻松搞定SpringCloud微服务系列--开⼭篇(spring。
Spring顶级框架有众多,那么接下的篇幅,我将重点讲解SpringCloud微框架的实现Spring 顶级项⽬,包含众多,我们重点学习⼀下,SpringCloud项⽬以及SpringBoot项⽬————————————————————main————————————————————⼀、SpringCloud项⽬简介 Spring Cloud: 微服务⼯具包,为开发者提供了在分布式系统的配置管理、服务发现、断路器、智能路由、微代理、控制总线等开发⼯具包。
Spring Boot: 旨在简化创建产品级的 Spring 应⽤和服务,简化了配置⽂件,使⽤嵌⼊式web服务器,含有诸多开箱即⽤微服务功能 可以和spring cloud联合部署。
⼆、SpringCloud⼦项⽬介绍 Spring Cloud Config:配置管理开发⼯具包,可以让你把配置放到远程服务器,⽬前⽀持本地存储、Git以及Subversion。
Spring Cloud Bus:事件、消息总线,⽤于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
Spring Cloud Netflix:针对多种Netflix组件提供的开发⼯具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
Netflix Eureka:云端负载均衡,⼀个基于 REST 的服务,⽤于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。
Netflix Hystrix:容错管理⼯具,旨在通过控制服务和第三⽅库的节点,从⽽对延迟和故障提供更强⼤的容错能⼒。
Netflix Zuul:边缘服务⼯具,是提供动态路由,监控,弹性,安全等的边缘服务。
Netflix Archaius:配置管理API,包含⼀系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
详细图⽂⼀步步记录Spring5.3源码编译和调试(IDEA+Gradle)的过程1 前⾔最近稍微研究了⼀下spring源码,看了不少资料发现不少⼤佬都是将spring源码拉到本地,⾃⼰编译完成之后在源码⾥⾯直接写注释,当然也更⽅便了⾃⼰学习和调试。
所以我也做了⼀次尝试,在此记录⼀下编译的过程和遇到的问题。
2 环境准备本地编译spring源码我使⽤的个软件版本如下:系统:Mac os Big SurIDEA:2020.1.2gradle:6.8.3spring:5.3.7-SNAPSHOTjdk:11.0.113 Spring编译流程3.1 下载安装gradle可以去gradle下载所需版本的⼆进制包,我们选择gradle-6.8.3即可。
下载解压完成之后配置⼀下环境变量就⾏。
配置完环境变量执⾏gradle -v查看:有需要的话我们还可以配置⼀下gradle本地仓库的⽬录(相当于maven的repo),新建⼀个环境变量GRADLE_USER_HOME指定你本地的gradle仓库地址。
下图是我在Mac上的配置:当然这⼀步不做也⾏,gradle默认的本地仓库地址是~/.gradle,⾄此gradle的安装就完成了。
3.2 spring源码下载在github上搜索spring framework的官⽅源代码:这⾥要重点说⼀下,我们下载源码的时候⽤git clone命令拉取代码,不要直接下载它的zip包,否则后续的编译会出现报错!!!,具体错误在本⽂第五节会讲到。
在拉代码之前最好把项⽬fork到我们⾃⼰的仓库如果⼤家觉得在github上拉代码速度太慢,也可以从gitee上clone,操作步骤跟上述⼀致。
下载完成之后如下图所⽰。
3.3 修改配置下⾯我们需要逐步解释/修改⼀下上图红框中的⽂件:1. import-into-idea.md这是官⽅提供的spring源码导⼊idea的步骤和注意说明,这⾥我就不去翻译了,只需要跟着后续的步骤操作就⾏。