记录自己的一些常用工具类

简介: 记录自己的一些常用工具类
  • MyBatisPlus分页配置
    MyBatis-plus
    mybatis-plus 分页配置:
@Configuration
public class MyBatisPlusConfiguration {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        return interceptor;
    }
}
  • 日期工具
//获取指定年月最后一刻
    public static Date getLastMoment(String date) {
        String[] split = date.split("-");
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, Integer.parseInt(split[0]));
        c.set(Calendar.MONTH, Integer.parseInt(split[1])-1);
        c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); //获取月最后一天
        c.set(Calendar.HOUR_OF_DAY, 23); //将小时至23
        c.set(Calendar.MINUTE, 59); //将分钟至59
        c.set(Calendar.SECOND,59); //将秒至59
        c.set(Calendar.MILLISECOND, 999); //将毫秒至999
        return c.getTime();
    }
    //获取指定年月最先一刻
    public static Date getFirstMonment(String date) {
        String[] split = date.split("-");
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, Integer.parseInt(split[0]));
        c.set(Calendar.MONTH, Integer.parseInt(split[1])-1);
        c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH));
        c.set(Calendar.HOUR_OF_DAY, 0);
        c.set(Calendar.MINUTE, 0);
        c.set(Calendar.SECOND,0);
        c.set(Calendar.MILLISECOND, 0);
        return c.getTime();
    }
  • @Value单个变量从配置文件注入
#文件访问地址前缀
resources-url: <http://internal.doreen.com.cn:50898>
package com.erp.adm.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource("classpath:bootstrap.yml")
public class ResourcesUrlConfig {
    //注入到成员变量, 如果要注入到静态变量,使用下列方式
    @Value("${resources-url}")
    public String url;
    public static String RESOURCES_URL;
    //注入到参数中并set到静态方法
    @Value("${resources-url}")
    public void setResourcesUrl(String resourcesUrl) {
        RESOURCES_URL = resourcesUrl;
    }
}
  • 使用依赖从配置文件内容多值注入变量
    加上该依赖,配置文件能自动提示
<!--配置自定义ConfigurationProperties-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
  • 配置文件中如下内容(yml)
myproxy:
  domainName: <http://gcm6aq.natappfree.cc>
  • 会注入到如下内容中
@RestController
@ConfigurationProperties(prefix = "myproxy")
public class FileUploadController {
    @Autowired
    private UserService userService;
    @Autowired
    private GoodsService goodsService;
    private String domainName/* = "<http://tjvjnw.natappfree.cc>"*/;
    public String getDomainName() {
        return domainName;
    }
    public void setDomainName(String domainName) {
        this.domainName = domainName;
    }
}

注意该字段需要get/set方法

  • 跨域问题配置
@Configuration
public class ResourceConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry corsRegistry){
        corsRegistry.addMapping("/**")
                .allowCredentials(true)
                .allowedOriginPatterns("*")
                //.allowedOrigins("*")
                .allowedMethods("*")
                .allowedHeaders("*")
                .maxAge(3600);
    }
}
相关文章
|
3月前
|
前端开发 fastjson Java
我的字段被FastJson给干掉了?!
本文记录作者升级到 JDK 11 后遇到的 FastJSON 序列化问题,以及详细的排查过程。
128 12
|
5月前
|
计算机视觉
常用工具类--- 脱敏工具
几个项目中常用的脱敏方法 现拿现用,方便快捷,旨在助力每位cv工程师的一生cv梦~~~
|
5月前
|
XML JSON Java
常用工具类---JSONUtil
这段内容提供了Java中将不同数据结构转换为JSON的代码示例。包括使用`JSONArray`将一维和二维数组、对象、Map及List转换为JSON字符串,并展示了如何从JSON字符串转换回Object、List以及XML到JSON的转换。
|
5月前
|
存储 Java
常用工具类---StringUtil
这篇文档讨论了Java中处理超长字符串的问题。由于字符串字面量限制为65534个字符,超过此长度会导致编译错误。当从HTTP或RPC接收长字符串时,不能直接用字符串字面量接收。解决方案是使用StringBuilder动态构建字符串,通过分组处理超过限制的字符序列。示例代码展示了如何分割并重新组合超过长度限制的字符串。
|
5月前
|
Java
常用工具类---IOUtils
该文档是关于Java中文件操作的说明,强调所有IO操作必须在`finally`块中关闭。提供了三个示例:1) 读取指定文件`test.txt`的全部内容,使用`FileReader`和`StringBuffer`;2) 追加内容到`test.txt`文件,通过`FileOutputStream`, `OutputStreamWriter`和`BufferedWriter`实现;3) 递归遍历目录下的所有文件,使用`File`类和递归函数获取每个文件的绝对路径。
|
Java Maven
使用easyPOI时碰到的几个问题(记录一下)
前面我们说了如何使用easyPOI,详情请参考全网最全最简单使用easypoi导入导出Excel的操作手册,今天我来记录下在使用easyPOI时碰到的几个问题,本来以为上传下载功能使用EasyPOI之后挺简单的,结果翻车了,一个上传和下载就因为版本的问题搞了老半天。真的是很愁人呀。下面就是我系统的初始环境。
1006 0
使用easyPOI时碰到的几个问题(记录一下)
|
监控 Java API
打印 Logger 日志时,需不需要再封装一下工具类?
在开发过程中,打印日志是必不可少的,因为日志关乎于应用的问题排查、应用监控等。现在打印日志一般都是使用 slf4j,因为使用日志门面,有助于打印方式统一,即使后面更换日志框架,也非常方便。在 《Java 开发手册》中也有相关的规约。
384 0
|
SQL Java 关系型数据库
JavaWeb常用工具类以及Jar包总结(后续不断补充)
JavaWeb常用工具类以及Jar包总结(后续不断补充)