广告
返回顶部
首页 > 资讯 > 精选 >Springboot如何整合FreeMarker
  • 952
分享到

Springboot如何整合FreeMarker

2023-06-29 03:06:56 952人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关SpringBoot如何整合FreeMarker,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、项目搭建1、新建模块2、导入依赖 :将不相关的依赖删掉<!-- 

这篇文章将为大家详细讲解有关SpringBoot如何整合FreeMarker,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、项目搭建

1、新建模块

Springboot如何整合FreeMarker

Springboot如何整合FreeMarker

2、导入依赖 :将不相关的依赖删掉

<!--        <dependency>--><!--            <groupId>org.mybatis.spring.boot</groupId>--><!--            <artifactId>mybatis-spring-boot-starter</artifactId>--><!--            <version>2.1.4</version>--><!--        </dependency>-->         <dependency>            <groupId>tk.mybatis</groupId>            <artifactId>mapper-spring-boot-starter</artifactId>            <version>2.0.2</version>        </dependency>        <dependency>            <groupId>javax.persistence</groupId>            <artifactId>persistence-api</artifactId>            <version>1.0</version>            <scope>compile</scope>        </dependency>

3、新建软件包,放入student实体类

package com.lv.code.pojo; import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors; @Data@NoArgsConstructor@AllArgsConstructor@Accessors(chain = true)public class Student {        private Long stuId;         private String stuName;         private String stuPhone;         private Long stuClass;         private String stuAddress;}

4、新建StudentMapper接口

package com.lv.code.mapper; import com.lv.code.pojo.Student;import org.springframework.stereotype.Repository;import tk.mybatis.mapper.common.Mapper; @Repositorypublic interface StudentMapper extends Mapper<Student> { }

5、Springboot04Application内引用mapper

package com.lv.code; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication@MapperScan("com.lv.code.mapper")public class Springboot04Application {     public static void main(String[] args) {        SpringApplication.run(Springboot04Application.class, args);    } }

6、application.yml文件配置

server:  port: 8080#  配置数据源spring:  datasource:    username: root    passWord: 123456    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:Mysql://localhost:3306/aaa?userSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true#  日志打印logging:  level:    com.lv.code.mapper: debug

7、测试

Springboot04ApplicationTests:

package com.lv.code; import com.lv.code.mapper.StudentMapper;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest; @SpringBootTestclass Springboot04ApplicationTests {    @Autowired    StudentMapper mapper;     @Test    void contextLoads() {        System.out.println(mapper.selectAll());    } }

Springboot如何整合FreeMarker

8、将切面、util包、启动器导入

导入依赖

<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-aop</artifactId>        </dependency>        <dependency>            <groupId>com.GitHub.pagehelper</groupId>            <artifactId>pagehelper-spring-boot-starter</artifactId>            <version>1.2.10</version>        </dependency>

切面PageAspect:

package com.lv.code.aspect; import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import com.lv.code.util.PageBean;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.springframework.stereotype.Component; @Component@Aspect@Slf4jpublic class PageAspect {     @Around(value = "execution(* *..*Service.*Pager(..))")    public Object invoke(ProceedingJoinPoint point) throws Throwable {        PageBean pageBean = null;        for (Object e : point.getArgs()) {            if (e instanceof PageBean) {                pageBean = (PageBean) e;                break;            }        }        if (pageBean != null && pageBean.isPagination()) {            PageHelper.startPage(pageBean.getPage(), pageBean.getRows());        }        Object obj = point.proceed(point.getArgs());        if (obj != null) {            if (obj instanceof Page) {                Page page = (Page) obj;                PageInfo pageInfo = new PageInfo(page);                pageBean.setTotal(new Long(pageInfo.getTotal()).intValue());                return pageInfo.getList();            }        }        return obj;    } }

util包中的PageBean类

package com.lv.code.util; import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor; import javax.servlet.Http.httpservletRequest;import java.util.Map; @Data@NoArgsConstructor@AllArgsConstructorpublic class PageBean {     private int total;    private int page = 1;    private int rows = 5;    private boolean pagination = true;    private String url;    private Map<String, String[]> ms;     public void setMs(Map<String, String[]> ms) {        this.ms = ms;    }     public int calcStartIndex() {        return (page - 1) * rows;    }     public int calcMaxPage() {        return total % rows == 0 ? total / rows : total / rows + 1;    }     public int nextPage() {        return Math.min(page + 1, calcMaxPage());    }     public int prevPage() {        return Math.max(page - 1, 1);    }     public void setRequest(HttpServletRequest req) {        setUrl(req.getRequestURL().toString());        setMs(req.getParameterMap());        String page = req.getParameter("page");        if (page == null) {            setPage(1);        } else {            setPage(Integer.parseInt(page));        }        String rows = req.getParameter("rows");        if (rows == null) {            setRows(5);        } else {            setRows(Integer.parseInt(rows));        }        String pagination = req.getParameter("pagination");        if ("false".equals(pagination)) {            setPagination(false);        }    } }

9、新建service层

新建StudentService接口:

package com.lv.code.service; import com.lv.code.pojo.Student;import com.lv.code.util.PageBean; import java.util.List; public interface StudentService {     List<Student> findPager(PageBean pageBean); }

实现StudentService接口:StudentServiceImpl

package com.lv.code.service; import com.lv.code.mapper.StudentMapper;import com.lv.code.pojo.Student;import com.lv.code.util.PageBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; import java.util.List; @Servicepublic class StudentServiceImpl implements StudentService {    @Autowired    private StudentMapper mapper;     @Override    public List<Student> findPager(PageBean pageBean) {        return mapper.selectAll();    }}

10、新建controller层

StudentController类:

package com.lv.code.controller; import com.github.pagehelper.PageRowBounds;import com.lv.code.service.StudentService;import com.lv.code.util.PageBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.WEB.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestControllerpublic class StudentController {    @Autowired    private StudentService service;     @GetMapping    public Object find(HttpServletRequest request){        PageBean pageBean=new PageBean();        pageBean.setRequest(request);        return service.findPager(pageBean);    } }

11、运行启动类Springboot04Application,访问localhost:8080网址

二、freemarker介绍

1、新建资源文件application.yml

更改配置文件,添加freemarker配置

server:  port: 8080#  配置数据源spring:  datasource:    username: root    password: 123456    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/aaa?userSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true  freemarker:    #指定HttpServletRequest的属性是否可以覆盖controller的model的同名项    allow-request-override: false    #req访问request    request-context-attribute: req    #后缀名freemarker默认后缀为.ftl,当然你也可以改成自己习惯的.html    suffix: .ftl    #设置响应的内容类型    content-type: text/html;charset=utf-8    #是否允许mvc使用freemarker    enabled: true    #是否开启template caching    cache: false    #设定模板的加载路径,多个以逗号分隔,默认: [ “classpath:/templates/” ]    template-loader-path: classpath:/templates/    #设定Template的编码    charset: UTF-8#  日志打印logging:  level:    com.lv.code.mapper: debug

2、模板语法

Springboot如何整合FreeMarker

 3、在资源文件中的templates文件下新建index.ftl文件

增加模块:

Springboot如何整合FreeMarker

Springboot如何整合FreeMarker

Springboot如何整合FreeMarker

 然后可选中freemarker直接生成ftl文件

关于“Springboot如何整合FreeMarker”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Springboot如何整合FreeMarker

本文链接: https://www.lsjlt.com/news/322157.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springboot如何整合FreeMarker
    这篇文章将为大家详细讲解有关Springboot如何整合FreeMarker,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、项目搭建1、新建模块2、导入依赖 :将不相关的依赖删掉<!-- ...
    99+
    2023-06-29
  • springboot怎么整合freemarker模板
    今天小编给大家分享一下springboot怎么整合freemarker模板的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2022-10-19
  • Springboot整合FreeMarker的实现示例
    目录一、项目搭建1、新建模块2、导入依赖 :将不相关的依赖删掉3、新建软件包,放入student实体类4、新建StudentMapper接口5、Springboot04Applica...
    99+
    2022-11-13
  • SpringBoot整合Freemarker的基本步骤
    添加pom依赖 <!-- springboot整合freemarker --> <dependency> <groupId>org.spr...
    99+
    2022-11-13
  • springboot整合freemarker报错怎么解决
    这篇文章主要讲解了“springboot整合freemarker报错怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot整合freemarker报错怎么解决”吧!spr...
    99+
    2023-06-30
  • springboot整合freemarker的踩坑及解决
    目录springboot整合freemarker踩坑报错问题原因解决方法springboot freemarker基础配置及使用1.基础配置2.基础使用springboot整合fre...
    99+
    2022-11-13
  • 使用springboot如何实现对freemarker进行整合
    这篇文章将为大家详细讲解有关使用springboot如何实现对freemarker进行整合,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前提:开发工具:idea框架:spring boot、...
    99+
    2023-05-31
    springboot freemarker
  • springboot整合freemarker代码自动生成器
    目录手撸一个代码自动生成器!!技术架构开发步骤:一、创建工程二、数据库连接操作三、加载数据表信息创建配置接口Controller四、代码生成五、测试手撸一个代码自动生成器!! 实现功...
    99+
    2022-11-12
  • SpringBoot整合freemarker实现代码生成器
    目录一、介绍二、代码实践2.1、首先我们添加 freemarker 依赖包2.2、然后创建一个代码模版2.3、最后生成目标代码三、小结一、介绍 在实际的软件项目开发过程中,我可以很负...
    99+
    2023-03-14
    SpringBoot freemarker代码生成器 SpringBoot freemarker SpringBoot代码生成器
  • Springboot整合freemarker和相应的语法详解
    FreeMarker 是⼀款 模板引擎: 即⼀种基于模板和要改变的数据, 并⽤来⽣成输出⽂本(HTMLy...
    99+
    2022-11-12
  • SpringBoot怎么整合freemarker实现代码生成器
    本文小编为大家详细介绍“SpringBoot怎么整合freemarker实现代码生成器”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么整合freemarker实现代码生成器”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-05
  • SpringBoot整合Freemarker实现页面静态化的详细步骤
    第一步:创建项目添加依赖: <!--web和actuator(图形监控用)基本上都是一起出现的--> <dependency> <groupId...
    99+
    2022-11-13
    SpringBoot整合Freemarker页面静态化 SpringBoot整合Freemarker
  • springboot整合freemarker代码自动生成器的示例分析
    这篇文章给大家分享的是有关springboot整合freemarker代码自动生成器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。技术架构页面是用 Vue ,element-ui开发;网络请求是 Axi...
    99+
    2023-06-15
  • Spring Boot 整合 FreeMarker 实例分享
    目录一、前言二、FreeMarker 简介三、准备工作环境准备添加 FreeMarker 依赖添加 FreeMarker 相关配置四、编写实体类和 Controller编写实体类编写...
    99+
    2022-11-13
  • Springboot如何整合https
    这篇文章主要介绍Springboot如何整合https,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 简介HTTP是不安全的,我们需要给它套上SSL,让它变成HTTPS。2 密码学基础要谈https就要谈Secur...
    99+
    2023-06-29
  • SpringBoot如何整合minio
    这篇文章主要介绍“SpringBoot如何整合minio”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot如何整合minio”文章能帮助大家解决问题。首先添加Minio的依赖<...
    99+
    2023-06-29
  • springboot如何整合elasticsearch
    目录前言不同方式演示简单看一下集成先决配置Spring Data Elasticsearch方式ElasticsearchRestTemplate方式总结前言 推荐首先查看sprin...
    99+
    2023-05-18
    springboot整合elasticsearch springboot elasticsearch
  • springboot如何整合Redis
    这篇文章主要介绍springboot如何整合Redis,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!引入依赖:在pom文件中添加redis依赖:<dependency>   ...
    99+
    2023-06-19
  • SpringBoot如何整合JPA
    这篇文章将为大家详细讲解有关SpringBoot如何整合JPA,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象...
    99+
    2023-06-19
  • SpringBoot如何整合chatGPT
    这篇文章主要讲解了“SpringBoot如何整合chatGPT”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot如何整合chatGPT”吧!1 添加依赖  ...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作