专栏首页Java工程师成长之路零碎的java知识点记录(一)

零碎的java知识点记录(一)

小知识点

  1. Map有getOrDefault("1","0");取不到取默认值
  2. 两个不同对象,属性相同进行赋值转换,使用modelMapper
<dependency>
    <groupId>org.modelmapper</groupId>
    <artifactId>modelmapper</artifactId>
    <version>1.1.0</version>
</dependency>
  1. controller请求中BindingResult bindingResult通过bindingResult.hasErrors()判断是否报错,下列模板代码可以学习
/**
 * 新增房源接口
 * @param houseForm
 * @param bindingResult
 * @return
 */
@PostMapping("admin/add/house")
@ResponseBody
public ApiResponse addHouse(@Valid @ModelAttribute("form-house-add") HouseForm houseForm, BindingResult bindingResult) {
    if (bindingResult.hasErrors()) {
        return new ApiResponse(HttpStatus.BAD_REQUEST.value(), bindingResult.getAllErrors().get(0).getDefaultMessage(), null);
    }

    if (houseForm.getPhotos() == null || houseForm.getCover() == null) {
        return ApiResponse.ofMessage(HttpStatus.BAD_REQUEST.value(), "必须上传图片");
    }

    Map<SupportAddress.Level, SupportAddressDTO> addressMap = addressService.findCityAndRegion(houseForm.getCityEnName(), houseForm.getRegionEnName());
    if (addressMap.keySet().size() != 2) {
        return ApiResponse.ofStatus(ApiResponse.Status.NOT_VALID_PARAM);
    }

    ServiceResult<HouseDTO> result = houseService.save(houseForm);
    if (result.isSuccess()) {
        return ApiResponse.ofSuccess(result.getResult());
    }

    return ApiResponse.ofSuccess(ApiResponse.Status.NOT_VALID_PARAM);
}
@NotNull(message = "大标题不允许为空!")
@Size(min = 1, max = 30, message = "标题长度必须在1~30之间")
private String title;

@NotNull(message = "必须填写卧室数量")
@Min(value = 1, message = "非法的卧室数量")
private Integer room;

@NotNull(message = "必须选中一个租赁方式")
@Min(value = 0)
@Max(value = 1)
private Integer rentWay;

@Size(max = 255)
private String description;
  1. redis管理session配置
@Configuration
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400)
public class RedisSessionConfig {
    @Bean
    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {

        return new StringRedisTemplate(factory);
    }
}
<!-- redis session依赖 -->
<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
# session会话存储类型
spring.session.store-type=redis

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • token jwt配置

    老梁
  • Redis命令geoXXX

    自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。 Redis Geo模块包含了以下6个命令:

    老梁
  • Eureka源码探索(一)-客户端服务端的启动和负载均衡

    老梁
  • 如何优雅地查看 JS 错误堆栈?

    在前端,我们经常会通过 window.onerror 事件来捕获未处理的异常。假设捕获了一个异常,上报的堆栈是这个:

    小芭乐
  • day77_淘淘商城项目_10_ Nginx代理详解 + 单点登录系统工程搭建 + 接口文档讲解_匠心笔记

    目前访问后台系统:   http://localhost:8081/ 目前访问首页系统:   http://localhost:8082/ 目前访问搜索结果页面...

    黑泽君
  • 自适应的逗号

    TalkPython
  • 使用Neo4j和Java进行大数据分析 第2部分

    本文的第一部分介绍了Neo4j及其Cypher查询语言。如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间...

    银河1号
  • 投融资汇总|本周(12.8-12.14),JDI获得10.3亿美元“援助资金”

    本周硬科技领域投融资事件一共61起,人工智能领域发生27起融资事件和1起收购事件,占比50%;生物医药领域发生11起融资事件和5起收购事件,占比29%;区块链领...

    镁客网
  • Spring Boot 结合 Redis 缓存

    二十三年蝉
  • java判断字符是否唯一

    ASCII码字符个数为128个,位运算没有128的变量,这里参考了评论区yuruiyin的办法,使用两个64位的long变量。 基础想法是用一位二进制数表示某...

    崔笑颜

扫码关注云+社区

领取腾讯云代金券