Spring中频繁使用的依赖注入方式

使用 idea 做 Java 开发的小伙伴,应该会遇到这个提示:Field injection is not recommended。有强迫症的小伙伴可以试下 Resource 注解。 1、 基于构造函数的依赖注入 基于构造函数注入的主要优点是可以将需要注入的字段声明为 final 注意:当 Bean A 依赖 B,Bean B 依赖 A 这种情况下出现循环依赖。Bean A → Bean B → Bean A 解决循环依赖的方法: ① 重新设计,消除循环依赖; ② 使用注解 @Lazy,在注入依赖时,先注入代理对象,当首次使用时再创建对象完成注入。 ③ 使用 Setter/Fie 阅读更多...

数据库连接误区

一直以来都是在单库开发,没有考虑过多库的问题,所以才会一直以为一个数据源只能操作一个数据库,早上收到一个跨库开发需求,进入误区的我一直以为要用到动态数据源才能解决这件事情,但是实际并不需要,只需要写好Mysql就能解决这个事情。 阅读更多...

踩坑Nacos

下载 下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.0 选择这个zip下载。 下载完毕后我们可以看看目录结构: 这里的bin目录里面有windows启动文件startup.cmd,我们双击就能启动了,和大多数windows进程类似。 启动后会有一个cmd窗口去打印命令并启动。 报错 想法1怀疑是环境变量没有设置JAVA_HOME 但是后来发现并不是,多次添加后 怀疑是maven环境问题,毕竟一直使用默认idea带的maven3并没有配置相关maven环境变量 1 2 3 4 5 6 7 8 9 10 D:\naco 阅读更多...

微软开源 Windows 软件包管理器 winget,一行命令安装软件

这次,除了WSL更新,微软也提供了一些新的工具。 首先,Windows终于迎来的自己的软件包管理工具winget。 和Ubuntu中的apt-get一样,现在给Windows安装软件包只需一行命令,无需在去浏览器里找软件包再双击安装。 比如输入 winget install terminal 将安装Windows Terminal 1.0,而过去你要到Windows Store里找到这个应用才能安装。 现在软件包管理工具winget只是预览版,但是已经加入了多项重要功能: install:安装应用 show:展示应用信息 source:管理软件源 search:查找应用并显示应用基 阅读更多...

windows 10 0x80070035 找不到网络路径

这个问题折腾了好久 两台电脑一台PC死活就是连不上NAS的Samba我一开始以为是NAS的问题重置了NAS非常多次,后来用我的笔电测试了发现实则是PC的问题,陆陆续续搞了非常久,因为PC也是作为私人服务器的存在Samba的需求比较少用,然后最近是想用NAS直接控制PC关机需要用到samba服务才又想起来,一顿搜索终于在网上找到解决方法,不得不说牛逼! 一、先开启网络发现和打印机共享: Windows+x,打开控制面板,依次点击:控制面板\网络和 Internet\网络和共享中心\高级共享设置,在当前网络环境,打开“网络发现”和“文件和打印机共享“。 二、检查系统服务: 在服务中查看Ser 阅读更多...

天猫精灵+路由器+ API实现远程控制电脑开关机

这个想法一开始是因为一直维护一台个人服务器,但是开关机需要通过远程唤醒,需要开放端口,使服务器处于不安全的状态,所以想通过天猫精灵和API结合Token认证对我的电脑进行远程的开关机控制。后续在自建API中心会将此API进行更完善的授权管理。 开发思路 原本是打算写一个web搭建在我要控制的服务器上,验证token后用代码直接实现关机,在学习过程中,发现windows存在远程关机指令,可以通过windows关闭windows 也可以通过linux远程指令关闭windows,但是考虑到我的路由器架构是ARMv7 Processor rev 5 (v7l) 所以不支持shutdown和net指令 阅读更多...

腾讯视频自动签到脚本.--Python

1.先按下F12,登录腾讯视频.https://v.qq.com,扫码,账号密码登录都可以. 2.找到https://access.video.qq.com/user/auth_refresh?vappid=*****&vsecret=******&type=qq&g_tk=&g_vstk=****&g_actk=****&callback=jQuery***_1581095328109&_=1***,复制出来 cookie.记事本里(一会用到) 3.调用如下代码替换cookie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 阅读更多...

根据时间生成流水号

第一种 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 package test; import java.text.SimpleDateFormat; import java.util.Date; /** * 获取主键:返回17位时间戳+3位递增数(同一时间递增) */ public class IdCreator { private static int a 阅读更多...

lombok几个基本注解的使用

lombok是一款在java开发中简洁化代码十分有用的插件工具,这篇博客对较为常用的几种注解进行记录 使用lombok注解,目的和作用就在于不用再去写经常反复去写的(如Getter,Setter,Constructor等)一些代码了。 首先,用到的几个注解: @Data 使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。 @AllArgsConstructor 使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数 @NoArgsConstructor 使用后创建一个无参构造函数 阅读更多...

原生JS实现简单的倒计时功能示例

1. 原生JS实现倒计时 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 www.jb51.net js倒计时