沈超琦的博客

STAY HUNGRY,STAY FOOLISH

文章

Spring方法注入 @Lookup注解使用

情景分析 在Spring的诸多应用场景中bean都是单例形式,当一个单例bean需要和一个非单例bean组合使用或者一个非单例bean和另一个非单例bean组合使用时,我们通常都是将依赖以属性的方式放到bean中来引用,然后以@Autowired来标记需要注入的属性。但是这种方式在bean的生命周期不同时将会出现很明显的问题,假设单例bean A需要一个非单例bean B(原型),我们在A中注入bean B,每次调用bean A中的方法时都会用到bean B,我们知道Spring Ioc容器只在容器初始化时执行一次,也就是bean A中的依赖bean B只有一次注入的机会,但是实际上bean B我们需要的是每次调用方法时都获取一个新的对象(原型)所以问题明显就是:我们需要bean B是一个原型bean,而事实上bean B的依赖只注入了一次变成了事实上的单例bean。 代码说明 ** @Component @Scope("prototype") public class PrototypeBean { private static final Logger logger= Lo....

关于for丶foreach丶iterator 迭代器

关于for丶foreach丶iterator 迭代器 1 前言: 我们在网上或者在讨论的时候往往会有这么一种说法:foreach 也是迭代器的一类,底层实现的是迭代器。但是这种说法并不严谨,也可以说这种说法对于我们正常的理解来说并不是能够完全理解。 2 结论: for 丶 foreach 丶迭代器 这三个遍历方法中 不应该将他们三种遍历方法归在一起 而是将其分成三类)——不要将foreach 归为迭代器的一种遍历 (我们一步一步来,首先来简单介绍一下这是那种方法的区别) 3 多态差别 for和foreach都需要知道自己的集合类型,甚至要知道自己集合内的元素类型,不能实现多态。( public static void main(String[] args) { int[] ints = new int[]{1, 2, 3, 4}; int[] var2 = ints; int var3 = ints.length;for(int var4 = 0; var4 < var3; ++var4) { int i = var2[var4]; System.out.println(i); ....

有感

《 丑奴儿·书博山道中壁 》 辛弃疾 少年不识愁滋味,爱上层楼。 爱上层楼,为赋新词强说愁。 而今识尽愁滋味,欲说还休。 欲说还休,却道天凉好个秋。

springboot解决跨域问题

1、跨域起因 对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现。针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处理。 但是jsonp方式也同样有不足,不管是对于前端还是后端来说,写法与我们平常的ajax写法不同,同样后端也需要作出相应的更改。并且,jsonp方式只能通过get请求方式来传递参数,当然也还有其它的不足之处, jQuery ajax方式以jsonp类型发起跨域请求,其原理跟script脚本请求一样,因此使用jsonp时也只能使用GET方式发起跨域请求。跨域请求需要服务端配合,设置callback,才能完成跨域请求。 针对于此,我并没有急着使用jsonp的方式来解决跨域问题,去网上找寻其它方式,也就是本文主要所要讲的,在springboot中通过cors协议解决跨域问题。 2、Cors协议 H5中的新特性:Cross-Origin Resource Sharing(跨域资源共享)。通过它,我们的开发者(主要指后端开发者)可以决定资源是否能被跨域访问。 cors是一个w3c标准,它允....

使用注解@实现防止接口重复提交

实现逻辑 1.自定义防重复提交的注解和切面 2.在需要验证的接口上增加注解(一般是创建、修改的接口) 3.以每次调用的 用户唯一标识(userId或者sessionId或者token)+ 请求路径+参数 作为key,value任意值都可以,缓存起来(redis或本地缓存),并设置一个合适的缓存失效时间。 4.每次调用时根据key判断,缓存是否存在,存在则抛出异常或提示,不存在则执行业务逻辑 代码 防重复提交注解 ** package com.***.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * <p>Description: [防重复提交注解]</p > */ @Target(ElementType.METHOD) @Retention(Retention....

STAY HUNGRY,STAY FOOLISH

© 2021 沈超琦的博客

Powered by Bolo
Theme self-bolo-sakura by Mashiro
浏览 31166 文章 31 评论 5
浙ICP备18010929号

主题 | Theme