阶段5 3.微服务项目【学成在线】_day04 页面静态化_03-freemarker测试环境搭建
新建一个module
选择parent
test-freemarker
spring‐boot‐starter‐freemarker:spring boot 提供的关于 freemaker的相关的包
lombok:写模型类需要。
okhttp:远程访问的包
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
复制进来以后,刷新一下
配置文件
application.yml和logback-spring.xml
两个配置文件直接复制过去
只配置freemarker的两厢,测试的时候把缓存关闭。监测时候设置为0表示立即去检查
server:
port: 8088 #服务端口 spring:
application:
name: test-freemarker #指定服务名
freemarker:
cache: false #关闭模板缓存,方便测试
settings:
template_update_delay: 0 #检查模板更新延迟时间,设置为0表示立即检查,如果时间大于0会有缓存不方便进行模板测试
新建一个包
日期类型的引入,是这个包下面的 java.util.Date;
写完了实体类的属性,加上@Data的注解,报错,通过手动的导入lombok.Data这个命名空间也不行。
application.yml的配置文件里面,导入的包也有lombok,并没有异常信息。
解决lombok的问题
在模块的引用里面,发现包的引用都有问题。
后来经过对比自己创建项目的pom.xml和资料里面给的pom.xml做了对比。发现可能是在创建项目的时候,没有选择好 module的parent项目。在pom.xml加上parent的标签 里面的配置。
完整的pom.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent>
<artifactId>xc-framework-parent</artifactId>
<groupId>com.xuecheng</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../xc-framework-parent/pom.xml</relativePath>
</parent> <version>1.0-SNAPSHOT</version> <modelVersion>4.0.</modelVersion>
<artifactId>test-freemarker</artifactId> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
</project>
继续代码
package com.xuecheng.test.freemarker.model; import lombok.Data;
import lombok.ToString; import java.util.Date;
import java.util.List; @Data
@ToString
public class Student {
private String name;//姓名
private int age;//年龄
private Date birthday;//生日
private Float money;//钱包
private List<Student> friends;//朋友列表
private Student bestFriend;//最好的朋友
}
创建模板
新建templates文件夹
新建模板文件。格式是ftl格式的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World!</title>
</head>
<body>
Hello ${name}
</body>
</html>
引入spring-boot-starter-web
这里不知道是不是视频没有仔细看还是怎么的。需要引入,spring-boot-starter-web方面下面创建的Controller可以用SpringMVC的一些注解
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
controller
新建controller文件夹,然后新建FreemarkerController
map作为一个形参。响应给模板的数据
package com.xuecheng.test.freemarker.controller; import org.springframework.web.bind.annotation.RequestMapping; import java.util.Map; @RequestMapping("/freemarker")
public class FreemarkerController {
@RequestMapping("/test1")
public String test1(Map<String,Object> map){
//返回freemarker模板的位置
map.put("name","传智播客");
return "test1";
}
}
创建spring boot的启动类
package com.xuecheng.test.freemarker; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class FreemarkerTestApplication {
public static void main(String[] args) {
SpringApplication.run(FreemarkerTestApplication.class,args);
}
}
conktroller加上@RestController
重启应用,测试:http://localhost:8088/freemarker/test1
在这里加断点测试
把@ResetController改成@Controller
最终代码
package com.xuecheng.test.freemarker.controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.Map; @RequestMapping("/freemarker")
@Controller
public class FreemarkerController {
@RequestMapping("/test1")
public String test1(Map<String,Object> map){
//返回freemarker模板的位置
map.put("name","传智播客");
return "test1";
}
}
最新文章
- HTML5 File详解
- nice-validator验证插件
- velocity的一些用法
- pentaho cde popup弹出框口
- CentOS 7.2安装Zabbix 3.2全攻略
- C#------如何判断输入的是否为纯数字
- Third-person Camera Navigation
- smarty 变量调节器
- 开个CS5.4编译编译,调试错误贴
- C#基础:异步调用 【转】
- 菜鸟nginx源代码剖析数据结构篇(一)动态数组ngx_array_t
- python算法题
- Maven下载、安装和配置(二)
- Reactive Extensions 相见恨晚的Rx.Net
- IO流_演示键盘录入
- Office 2010 打开文件后所有的格式成了时间的解决方法
- LA 4728 Square ,旋转卡壳法求多边形的直径
- linux I/O函数使用
- java代码====实现按钮点击改变颜色=======
- cassandra cqlsh 和 python客户端
热门文章
- 远程连接服务器数据库报错:Host ‘XXXXXX’ is blocked because of many connection errors
- 【转】Elastic-Job
- webpack中typeScript的打包配置
- java中的文件上传下载
- Pycharm----显示tab制表符
- php基本语法形式
- 001-官网安装openstack之-安装前基础环境准备
- BZOJ 2281: [Sdoi2011]黑白棋 (Nim游戏+dp计数)
- CF70E Information Reform
- P2993 [FJOI2014]最短路径树问题