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

简介: 记录自己的一些常用工具类
  • 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 序列化问题,以及详细的排查过程。
135 12
|
7月前
|
easyexcel
easyExcel 读取数据为空的一次报错记录
easyExcel 读取数据为空的一次报错记录
|
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`类和递归函数获取每个文件的绝对路径。
|
SQL Java 数据库连接
第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办【Java面试题】
第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办【Java面试题】
164 0
|
关系型数据库 PostgreSQL
mybatisplus表字段是中文时启动项目报错(字符串访问越界)
报错信息: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
|
消息中间件 JavaScript 小程序
MybatisPlus 使用 saveOrUpdate() 方法踩坑记录(慎用)
MybatisPlus 使用 saveOrUpdate() 方法踩坑记录(慎用)
Java 8 数据过滤,removeIf 和 filter 别用错了!!
返回由与此给定谓词匹配的此流的元素组成的流。 removeIf是Java8 Collecttion的一个默认方法。