springboot全局日期格式化的两种方式

下面就为您详细讲解“springboot全局日期格式化的两种方式”的攻略:

方式一:使用配置类

  1. 首先在项目中新建一个配置类,例如MyConfig类。
  2. 在MyConfig类中,使用@Configuration注解来标识这是一个配置类。
  3. 在MyConfig类中,使用@Bean注解来将日期格式化器加入到Spring容器中。
  4. 在日期格式化器的Formatter#parse()Formatter#print()方法中,分别使用SimpleDateFormat来进行格式化或解析。

下面是示例代码:

@Configuration
public class MyConfig {
    @Bean
    public Formatter<Date> dateFormatter() {
        return new Formatter<Date>() {
            @Override
            public Date parse(String text, Locale locale) throws ParseException {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return sdf.parse(text);
            }
            @Override
            public String print(Date date, Locale locale) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return sdf.format(date);
            }
        };
    }
}

方式二:使用application.properties文件

  1. application.propertiesapplication.yml中,添加全局日期格式化的配置项。
  2. 全局日期格式化的配置项的格式为spring.mvc.format.date=yyyy-MM-dd HH:mm:ss,其中yyyy-MM-dd HH:mm:ss即为所设置的日期格式。

下面是示例代码:

spring.mvc.format.date=yyyy-MM-dd HH:mm:ss
spring:
  mvc:
    format:
      date: yyyy-MM-dd HH:mm:ss

至此,就完成了springboot全局日期格式化的两种方式的攻略了。

下面为您提供两个使用示例:

示例1:使用自定义日期格式化的model属性传参

@RestController
public class UserController {
    @GetMapping("/users/{id}")
    public User getUser(@PathVariable int id, @RequestParam(value = "birthday") Date birthday) {
        User user = new User();
        user.setId(id);
        user.setBirthday(birthday);
        return user;
    }
}

如上代码所示,可以通过在@RequestParam中设置日期格式,配合使用@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm")注解来进行自定义日期格式化。而全局日期格式化的配置,在这种情况下也是同样生效的。

示例2:使用自定义日期格式化的表单数据传参

<form action="/users" method="post">
    <p>
        姓名:<input type="text" name="name"/>
    </p>
    <p>
        生日:<input type="text" name="birthday" value="2019-12-31 12:00:00"/>
    </p>
    <button type="submit">提交</button>
</form>
@RestController
public class UserController {
    @PostMapping("/users")
    public User addUser(User user) {
        return user;
    }
}

如上代码所示,可以通过在表单中设置日期格式,配合使用全局日期格式化的配置来进行自定义日期格式化。而在这种情况下,直接将数据绑定到实体类的属性中,即可完成自动日期格式化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot全局日期格式化的两种方式 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • Android 下的 QuickJS Binding 库特性使用详解

    Android 下的 QuickJS Binding 库特性使用详解 简介 QuickJS Binding 库是一个用于在 Android 平台上使用 JavaScript 的库。这个库允许开发人员在 Android 应用中使用 JavaScript 进行开发,并且可以将 JavaScript 和 Java 进行相互调用。QuickJS Binding 库提…

    Java 2023年5月26日
    00
  • Java抢红包的红包生成算法

    下面是“Java抢红包的红包生成算法”的完整攻略。 一、概述 “Java抢红包的红包生成算法”是一种随机分配金额的算法,可以用于生成指定金额的红包,并按照一定的规则把红包分配给多个人。该算法可以用于各种在线支付、社交娱乐等场景。 二、算法原理 “Java抢红包的红包生成算法”基于二倍均值法实现,具体原理如下: 假设红包总金额为totalMoney,红包个数为…

    Java 2023年5月19日
    00
  • spring mvc配置bootstrap教程

    Spring MVC 配置 Bootstrap 教程 Bootstrap 是一种流行的前端框架,用于快速构建响应式 Web 应用程序。在 Spring MVC 中,我们可以使用 Bootstrap 来美化我们的 Web 应用程序。本文将详细讲解 Spring MVC 配置 Bootstrap 的方法,包括引入 Bootstrap、配置资源处理器等。 引入 B…

    Java 2023年5月18日
    00
  • MyBatis增删改查快速上手

    MyBatis增删改查快速上手 MyBatis是一款基于Java语言的ORM框架,通过XML或注解的方式操作数据库,可以实现较为灵活的数据库访问控制。本文将介绍MyBatis在增删改查方面的使用方法。 安装MyBatis MyBatis可以通过Maven依赖来引入,也可以直接下载jar包。此处以Maven方式为例,需在pom.xml文件添加以下依赖: &lt…

    Java 2023年5月19日
    00
  • hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

    下面是我对“hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法”的完整攻略。 1. 什么是 fetch=FetchType.LAZY 懒加载? 在 Hibernate 中,fetch 是控制语句 load 与 get 的机制的一个选项。fetch = FetchType.LAZY 就是懒加载模式。它是指当我们使用 Hiber…

    Java 2023年5月20日
    00
  • 匹配form表单中所有内容的正则表达式

    下面我就来详细讲解匹配form表单中所有内容的正则表达式攻略。 步骤一:理解需求 首先需要理解问题的需求,即需要匹配form表单中所有内容的正则表达式。这里的“所有内容”包括form标签及其所有属性,包括每一个input标签及其属性等等。 步骤二:编写匹配表单标签的正则表达式 首先需要匹配form标签,可以使用以下正则表达式: /<form.*?&gt…

    Java 2023年6月15日
    00
  • java使用jar包生成二维码的示例代码

    下面是Java使用jar包生成二维码的完整攻略: 1. 引入Jar包 在Java中使用二维码需要引入第三方Jar包,可以使用Zxing或者QrCode这两个常用的Jar包。这里以Zxing为例,可以从官网或者Maven库中下载获取。 2. 生成二维码 import java.awt.Color; import java.awt.Graphics2D; imp…

    Java 2023年5月20日
    00
  • Struts2中Action三种接收参数形式与简单的表单验证功能

    在Struts2中,Action可以通过三种形式接收参数: 在Action类中定义属性,并提供setter方法,在Action的execute方法中使用属性接收参数。 使用ActionContext.getContext().getParameters()方法获取请求参数Map,以键值对的形式接收参数。 实现ParameterAware接口,可以通过参数Ma…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部