spring
文章平均质量分 84
Spring
ZNineSun
大道至简,返璞归真
展开
-
SpringBoot+Redis BitMap 实现签到与统计功能
最近项目里需要集成签到和统计功能,连续签到后会给用户发放一些优惠券和奖品,以此来吸引用户持续在该品台进行活跃。下面我们一些来聊一聊目前主流的实现方案。因为签到和统计的功能涉及的数据量比较大,所以在如此大的数据下利用传统的关系型数据库进行计算和统计是非常耗费性能的,所以目前市面上主要依赖于高性能缓存功能来实现。先看看利用Mysql实现以上功能会有哪些缺陷和短板。原创 2023-09-15 17:23:06 · 1680 阅读 · 1 评论 -
Spring的事件处理机制
Component@Overridetry {LogUtil.errorLog().log("获取IP地址异常", e);return;由于一些限制,没法针对代码做逐行讲解,只能借着一个点,把相关的核心技术点讲解一下,这个核心技术点就是Spring的事件监听机制ApplicationListener。Spring中的事件处理机制是对设计模式中的观察者模式的一种扩展,它可以实现应用程序中的解耦,提高代码的可维护性和可扩展性。原创 2023-08-13 21:52:33 · 542 阅读 · 0 评论 -
SpringBoot配置https
由于HTTPS具有良好的安全性,在开发中得到了越来越广泛的应用,像微信公众号、小程序等的开发都要使用HTTPS来完成。对于个人开发者而言,一个HTTPS 证书的价格还是有点贵,但是呢,国内的一些云服务器厂商提供免费的HTTPS证书,一个账号可以申请数个,当然,在jdk中提供了一个Java数字证书,我可以也可以利用这个工具生成一个数字证书。原创 2022-11-22 18:57:43 · 1635 阅读 · 1 评论 -
聊聊spring事务失效的12种场景
在使用@Transactional注解声明事务时,有时我们想自定义回滚的异常,spring也是支持的。可以通过设置参数,来完成这个功能。} }如果在执行上面这段代码,保存和更新数据时,程序报错了,抛了等异常。而BusinessException是我们自定义的异常,报错的异常不属于BusinessException,所以事务也不会回滚。即使rollbackFor有默认值,但阿里巴巴开发者规范中,还是要求开发者重新指定该参数。这是为什么呢?原创 2022-09-03 11:14:17 · 223 阅读 · 0 评论 -
说说 Spring Bean 的实例化过程?面试必问
对于写Java的程序员来说,Spring已经成为了目前最流行的第三方开源框架之一,在我们充分享受Spring IOC容器带来的红利的同时,我们也应该考虑一下Spring这个大工厂是如何将一个个的Bean生产出来的。Spring将管理的一个个的依赖对象称之为Bean,Spring IOC容器就好像一个生产产品的流水线上的机器,Spring创建出来的Bean就好像是流水线的终点生产出来的一个个精美绝伦的产品。既然是机器,总要先启动,Spring也不例外。因此Bean的一生从总体上来说可以分为两个阶段:我们先探讨原创 2022-07-03 21:45:06 · 1137 阅读 · 0 评论 -
Spring高频面试题
文章持续更新中…我们知道java之所能够有如此美好的生态,spring绝对功不可没,因为完美的和spring兼容在一起,才有了那么多丰富好用的功能。1.AOP有哪些实现方式?AOP有两种实现方式:静态代理和动态代理。1.1 静态代理静态代理:代理类在编译阶段生成,在编译阶段将通知织入Java字节码中,也称编译时增强。AspectJ使用的是静态代理。缺点:代理对象需要与目标对象实现一样的接口,并且实现接口的方法,会有冗余代码。同时,一旦接口增加方法,目标对象与代理对象都要维护。1.2 动态代理原创 2022-05-31 21:52:42 · 1166 阅读 · 2 评论 -
解决因时区导致时间不一致的问题
我们在从数据库进行查数据或将查出的时间进行传递时经常会发现时间少一天这是由于时区不同导致的,此时我们只需要将需要传递的属性设定为指定的时区,那么在查询以及传递时就会按照该时区进行传输1.在实体属性上添加JsonFormat" @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date selectTime;2.在application.properties中添加全局配置#配置时间原创 2021-05-15 15:52:30 · 1013 阅读 · 0 评论 -
java 设置session
1.Spring Boot:server.session.cookie.comment = #注释会话cookie。server.session.cookie.domain = #会话cookie的域。server.session.cookie.http-only =#“HttpOnly”标志为会话cookie。server.session.cookie.max-age = #会话coo...原创 2020-01-18 22:18:31 · 972 阅读 · 0 评论