不推荐使用@Autowired进行Field注入的原因

不推荐使用@Autowired进行Field注入的原因 很久以前在用IDEA开发的时候就注意到过一个提示,在字段上使用Spring的依赖注入注解**@Autowired**后会出现如下警告 Field injection is not recommended (字段注入是不被推荐的) 但是使用@Resource却不会出现此提示 网上文章大部分都是介绍两者的区别,没有提到为什么,当时想了好久想出了可能的原因,不过时间过了这么久又有点忘记了,今天来总结一下 Spring常见的DI方式 * 构造器注入:利用构造方法的参数注入依赖 * Setter注入:调用Setter的方法注入依赖 * 阅读更多...

Let's Encrypt 泛域名证书申请与安装

Let’s Encrypt 泛域名证书申请与安装 使用“让我们加密”配置和保护Nginx的步骤 使用“让我们加密”保护Nginx的过程如下: 1. 获取acme.sh软件以获取SSL证书: git clone https://github.com/Neilpang/acme.sh.git 2. 创建/.well-known/acme-challenge/目录: mkdir -p /var/www/.well-known/acme-challenge/ 3. 获取域的SSL证书: acme.sh –issue -w /DocumentRootPath/ -d yo 阅读更多...

短链接系统

短链接系统 开发背景,网址缩短这种服务是在微博出现之后才流行开来的,原因很简单,微博140字限制,能表达的内容本来就两三句,如果再出现一个网址,就会占用非常大的篇幅。又比如商城业务中的url最长的达68个字节。相当于抽离部分功能为独立模块,避免功能之间定制化太强。将部分功能做成更具通用性,功能更广泛的模块。 网址缩短的原理也很简单,使用HTTP 301 Moved状态码重定向,浏览器就会自动的转向到目标网址。这个实现起来的难度不大,代价也不会很高。因为多了这一次转发,这使得那些被传播的网址多了一些可控的因素,比如说可以记录请求的报文,对来源网站、IP、浏览器等许多信息进行收集和统计;可以针 阅读更多...

商城业务心得

商城业务心得 这是我进入公司可以算是第一个从设计到完成的项目,起初在我的设想下商城并没有那么复杂,但是我发现在实际的开发中,我在不断地把我的原先的设计思路发杂化。 商城模块 1.商品模块 2.订单模块 3.支付模块 1. 对于第一个模块的难点在于规格的三级裂变,需要用父子级的商品规格来进行设计,使用了三个for循环对规格进行新增和修改。其余并无太多的重难点。 2. 对于第二个模块订单模块的难点在于我前期对于每个订单都做了商品以及规格关联,所以在后续的订单导出,以及订单查询都反复使用了多次查询,以及设计了视图,非常的浪费资源,经过这次设计我意识到应该存在订单留痕,订单的商品信息不应该会受 阅读更多...

搭建一个新的单体框架

搭建一个新的单体框架 架构的演进 软件架构风格从大型机(Mainframe),到原始分布式(Distributed),到大型单体(Monolithic),到面向服务(Service-Oriented),到微服务(Microservices),到服务网格(Service Mesh),到无服务(Serverless)……技术架构上确实呈现出“从大到小”的发展趋势。当近年来微服务兴起以后,涌现出各类文章去总结、赞美微服务带来的种种好处,诸如简化部署、逻辑拆分更清晰、便于技术异构、易于伸缩拓展应对更高的性能等等,这些当然都是重要优点和动力。可是,如果不拘泥于特定系统或特定某个问题,以更宏观的角度来看, 阅读更多...

解决EasyExcel或POI在线下使用正常,线上环境Docker出现IllegalArgumentE异常的情况

解决EasyExcel或POI在线下使用正常,线上环境Docker出现IllegalArgumentE异常的情况 easyExcel线下环境写入Sheet正常,但是丢到线上Docker环境中无法写入,发生写入Sheet异常。 该异常由于自己的环境变量缺少swing需要的字体配置。 1. 该异常由于自己的环境变量缺少swing需要的字体配置,检查自己应用是否有配置-Djava.awt.headless=true,如果没有请加上该系统参数 2. 如果仍旧不行,看下服务器是否安装了字体,jdk8字体需要自己安装请安装字体:dejavu-sans-fonts 和 fontconfig 在dock 阅读更多...

推送新项目到码云

推送新项目到码云 进入本地的项目中打开CMD输入 git init 等初始化完成后将项目添加到本地仓库中 git add . 查看一下git状态,看是否添加成功 git status commit到本地仓库 git commit -am “提交时描述信息” 连接到远程码云仓库 git remote add origin 仓库地址 如果是第一次执行,可以先需要pull一下 git pull 本地代码push到码云的master主分支上 git push -u -f origin master 阅读更多...

09-04网络相关知识分享

09-04 网络相关知识分享 网络拓扑 网段划分 ARP网络欺骗 首先介绍一个系统Kail linux ARP欺骗的进化 第一阶段的学习欺骗对方和网关的通信 达到断网的效果 第二层次就开始捕获流量 拦截流量 http请求 中的明文信息 图片信息 密码信息 第三层次 开始https降级 把https加密请求降级为http请求从而进行信息拦截 第四层次 加上社会工程学的理论 https钓鱼 把域名重定向到预先准备好的https网址 ,再由对方提交然后获取对方的信息 再进行认证而后返回认证cookie以及相关登录信息 而这会已经拿到用户的密码等东西了。 欺骗原理 图片嗅探 阅读更多...

操作Redis对List进行读写,Hash的业务场景和使用

Hash: 主要用于存储key-value型数据,评论模型中全是key-value型数据,所以在这里Hash无疑会用到。 用cropid对组织架构进行区分,以及直接对对象的属性进行修改 List: 主要用于存储一个列表,列表中的每一个元素按元素的插入时的顺序进行保存,如果我们将评论模型按createDate排好序后再插入List中,似乎就能做到排序了,而且再利用List中的LRANGE key start stop指令还能做到分页。嗯,到这里List似乎满足了我们分页和排序的要求,但是评论还会被删除,就需要更新Redis中的数据,如果每次删除评论后都将Redis中的数据全部重新写入一次,显然不 阅读更多...

请我喝杯咖啡吧~

支付宝
微信