当前位置: 首页 > news >正文

通用代码自用

多文件上传

public int save(Role role, @RequestParam("nfile") MultipartFile nfile, HttpServletRequest request) {System.out.println(nfile.getOriginalFilename());String path = request.getSession().getServletContext().getRealPath("/upload");File file = new File(path);if (!file.exists()) {file.mkdir();}String filename = System.currentTimeMillis() + nfile.getOriginalFilename();try {nfile.transferTo(new File(file, filename));} catch (IOException e) {e.printStackTrace();}return roleService.save(role);}

分页

package com.zb.util;import java.util.List;public class PageUtil<T> {/*当前页*/private Integer currentPage = 1;/*每页的条数*/private Integer pageSize = 2;//总记录数private Integer totalCount;//总页数private Integer totalPageCount;// 分页数据private List<T> data;public Integer getCurrentPage() {return currentPage;}public void setCurrentPage(Integer currentPage) {this.currentPage = currentPage;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;}public Integer getTotalCount() {return totalCount;}public void setTotalCount(Integer totalCount) {this.totalCount = totalCount;}public Integer getTotalPageCount() {totalPageCount = totalCount % pageSize == 0? totalCount / pageSize : totalCount / pageSize + 1;return totalPageCount;}public void setTotalPageCount(Integer totalPageCount) {this.totalPageCount = totalPageCount;}public List<T> getData() {return data;}public void setData(List<T> data) {this.data = data;}
}

跨域配置

package com.zb.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsFilter() {// 1. 创建CORS配置对象CorsConfiguration config = new CorsConfiguration();// 允许的源(生产环境建议指定具体域名,而非*)config.addAllowedOriginPattern("*");// 允许携带凭证(cookie等)config.setAllowCredentials(true);// 允许的HTTP方法config.addAllowedMethod("*");// 允许的请求头config.addAllowedHeader("*");// 暴露的响应头(前端可以获取的额外响应头)config.addExposedHeader("token");// 预检请求的缓存时间(秒)config.setMaxAge(3600L);// 2. 创建URL匹配源UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();// 对所有路径应用CORS配置source.registerCorsConfiguration("/**", config);// 3. 创建并返回CORS过滤器return new CorsFilter(source);}
}

数据库连接

    url: jdbc:mysql://127.0.0.1:3306/《数据库》?useUnicode=true&autoReconnect=true&autoReconnectForPools=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai

Redis使用FastJson序列化配置

package com.zb.config;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;import java.nio.charset.Charset;/*** Redis使用FastJson序列化** @author sg*/
public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");private Class<T> clazz;static {ParserConfig.getGlobalInstance().setAutoTypeSupport(true);}public FastJsonRedisSerializer(Class<T> clazz) {super();this.clazz = clazz;}@Overridepublic byte[] serialize(T t) throws SerializationException {if (t == null) {return new byte[0];}return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);}@Overridepublic T deserialize(byte[] bytes) throws SerializationException {if (bytes == null || bytes.length <= 0) {return null;}String str = new String(bytes, DEFAULT_CHARSET);return JSON.parseObject(str, clazz);}protected JavaType getJavaType(Class<?> clazz) {return TypeFactory.defaultInstance().constructType(clazz);}
}

Redis配置

package com.zb.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplate<Object, Object> template = new RedisTemplate<>();template.setConnectionFactory(connectionFactory);FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class);// 使用StringRedisSerializer来序列化和反序列化redis的key值template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(serializer);// Hash的key也采用StringRedisSerializer的序列化方式template.setHashKeySerializer(new StringRedisSerializer());template.setHashValueSerializer(serializer);template.afterPropertiesSet();return template;}
}

http://www.dtcms.com/a/314598.html

相关文章:

  • 李沐写作笔记
  • C语言结构体、位段、枚举、联合体
  • Codeforces Round 1004 (Div. 2)
  • win10 系统,一键保存截图, shift + print_screen
  • Ubuntu 下 MySQL 运维自动化部署教程(在线简易版)
  • 0.08B参数以小博大:用小模型生成媲美GPT-4o的古典诗词
  • TCP 四次挥手详解
  • springboot博客实战笔记01
  • 常见的Prompt设计误区
  • Centos Docker 安装手册(可用)
  • Web开发系列-第15章 项目部署-Docker
  • windows小组件能清理吗
  • 银河麒麟V10一键安装DM8的脚本及高阶运维SQL分享
  • 微型导轨:3D打印设备精度平稳的关键应用
  • 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
  • 零基础掌握 Scrapy 和 Scrapy-Redis:爬虫分布式部署深度解析
  • C++少儿编程(二十一)—软件执行流程
  • 【微实验】MATLAB频谱 三维可视化
  • 量化大型语言模型的评估
  • Flutter开发 MaterrialApp基本属性介绍
  • CSDN文章创作用法
  • sqli-labs:Less-26a关卡详细解析
  • sqli-labs:Less-27a关卡详细解析
  • UA 配置Https域名
  • AI赋能SEO关键词优化
  • k8s的毫核
  • DQL 超维分析 - 1 DQL 原理
  • 无公网环境下在centos7.9上使用kk工具部署k8s平台(amd64架构)
  • redis可视化工具汇总
  • Ubuntu系统VScode实现opencv(c++)图像二维直方图