![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
java 知识碎片
铃俐
爱好广泛,成长记录分享。今日头条:铃利
展开
-
设计模式 组合模式
属于结构型设计模式。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。原创 2022-09-27 22:43:17 · 361 阅读 · 1 评论 -
设计模式 备忘录模式
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。原创 2022-09-26 19:10:42 · 482 阅读 · 0 评论 -
设计模式 适配器模式介绍和示例
适用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。原创 2022-09-23 20:11:56 · 445 阅读 · 0 评论 -
设计模式 抽象工厂模式
抽象工厂模式是工厂方法模式的升级版本。为访问类提供一个创建一组相关或相互依赖对象的接口,而访问类无须指定所要产品的具体类就可以得到同族的不同种类的产品。原创 2022-09-12 18:36:41 · 164 阅读 · 0 评论 -
设计模式 人类父母和猫孩子的关系理解观察者模式(发布订阅模式)
多个对象间存在一对多的依赖关系,当一个对象状态发生改变时,其相关依赖对象皆得到通知,并被自动更新。在观察者模式中参演的两个角色分别是观察者和被观察者。原创 2022-09-10 16:20:43 · 221 阅读 · 0 评论 -
设计模式 建造者模式介绍、案例应用、建造者模式和工厂模式的区别
建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。原创 2022-09-07 21:41:16 · 325 阅读 · 0 评论 -
设计模式 外观模式解决疫情卖菜问题
外观模式属于结构型模型。通过对现有的系统,添加一个新的接口,去隐藏掉系统的复杂性。原创 2022-09-06 16:12:06 · 150 阅读 · 0 评论 -
设计模式 模板方法模式(模板找女朋友/男朋友)
属于行为模式。抽象类定义了一个模板,不变的部分放在模板里,具体实现(可变的部分)由子类来做。原创 2022-09-05 17:44:14 · 254 阅读 · 0 评论 -
设计模式 原型模式来复制女朋友
原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。原创 2022-09-04 19:14:02 · 193 阅读 · 0 评论 -
设计模式 工厂方法模式
是一种创建型设计模式是对简单工厂模式的进一步抽象化(简单工厂模式违背了开闭原则)工厂方法模式可以使系统在不修改原来代码的情况下,引进新的的产品。(满足开闭原则)原创 2022-09-03 19:33:28 · 190 阅读 · 0 评论 -
设计模式 代理模式
代理模式属于结构型模式,一个类代表另一个类的功能。原创 2022-09-02 18:55:36 · 121 阅读 · 0 评论 -
设计模式 煎饼果子和装饰者模式
装饰者模式又叫装饰器模式用途:在不改变现有对象的结构情况下,动态给一个对象增加额外的功能。原创 2022-09-01 18:42:10 · 331 阅读 · 0 评论 -
设计原则 单一职责原则、开放封闭原则、依赖倒置原则、里氏代换原则、迪米特法则
依赖倒置原则就是:要针对接口编程,不要对实现编程。原创 2022-08-30 22:05:51 · 339 阅读 · 0 评论 -
设计模式 策略模式的适用场景和使用方法
策略模式属于对象的行为模式。定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。原创 2022-08-29 22:31:33 · 961 阅读 · 0 评论 -
设计模式 简单工厂模式的进化过程
简单工厂模式又叫静态工厂方法,属于类创建型模式。可以根据参数的不同,返回不同的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。原创 2022-08-28 22:34:49 · 261 阅读 · 0 评论 -
面向对象(构造方法、封装、继承、多态、接口和抽象类的区别)
抽象类是对类的抽象,接口是对行为的抽象。原创 2022-08-26 22:31:11 · 344 阅读 · 0 评论 -
java String方法、数据类型的转换
Double.parseDouble(str);str.toCharArray()list.toArray()原创 2021-05-25 18:30:08 · 57 阅读 · 0 评论 -
SpringBoot发送邮件(带附件)
SMTP:simple mail transfer protocol 简单邮件传输协议 → 用于发送电子邮件的传输协议POP3:post office protocol-version3 用于接收电子邮件的标准协议 (不能做邮件状态的双向同步)IMAP:internet mail access protocol 互联网消息协议,是pop3的替代协议 (可以做邮件状态的双向同步).....................原创 2022-07-02 13:26:07 · 1714 阅读 · 0 评论 -
SpringBoot整合quartz实现定时任务
job:具体执行的工作jobDetail:与工作相关的设定trigger触发器: 某一个工作具体的触发规则scheduler调度器:把jobDetail和trigger绑定在一起原创 2022-07-01 20:20:44 · 410 阅读 · 0 评论 -
SpringBoot校验手机验证码案例:默认缓存、Ehcache缓存、数据淘汰策略、redis缓存
本案例实现功能:1 根据手机号码生成6位数的数字验证码2 输入手机号和验证码,判断输入的验证码是否正确2 启用缓存4 创建验证码的工具类关于异或运算请点这里说明:getCacheCode()获取缓存里的验证码的方法,写在工具类这里是因为要使spring的@Cacheable这个注解生效,需要注入spring容器,该工具类在后面的ServiceImpl进行了注入,该方法返回的是注解@Cacheable的value属性值 → cacheCode (详见后面的测试) 6 s原创 2022-06-30 16:54:09 · 968 阅读 · 0 评论 -
2分钟明白异或运算
异或运算测试:8^12 1 把参与异或运算的数字转成二进制8转成二进制是:1000 12转成二进制是1100运算规则:相同为0,不同为1100011000100 → 结果 接下来我们再验证一个例子36转成二进制是 10010036转成二进制补全前面的0是 00000 1001001500转成二进制是 10111 011100运算结果是 10111 11100010111111原创 2022-06-30 15:01:14 · 646 阅读 · 0 评论 -
SpringBoot缓存使用方式@EnableCaching、@Cacheable
缓存 是一种介于数据永久存储介质(数据库)与数据应用(程序)之间的数据临时存储介质目的:1 减少低速数据读取过程的次数(例如磁盘IO),提高系统性能2 不仅可以提高永久性存储介质的数据读取效率,还可以提供临时的数据存储空间..........原创 2022-06-30 13:53:22 · 650 阅读 · 0 评论 -
SpringBoot默认数据源对象hikari
不使用数据源对象,SpringBoot默认使用hikari数据源对象 SpringBoot提供3种内置数据源对象原创 2022-06-27 14:23:56 · 496 阅读 · 0 评论 -
SpringBoot常用注解
1.1 创建类对象@Component → 把当前类对象注入spring容器(通用)@Repository → 把当前类对象注入spring容器(一般用在持久层)@Service → 把当前类对象注入spring容器(一般用在业务层)@Controller → 把当前类对象注入spring容器(一般用在表现层)1.2 注入数据@Autowired → 自动类型注入,注入bean对象@Value → 注入基本类型 和 String 类型@Bean → 注入当前方法的 返回值 ,存入spring原创 2022-06-27 13:17:13 · 647 阅读 · 0 评论 -
SpringBoot测试用例设置随机数据
随机数据:写在配置文件里${random.int} : 整数${random.int(10)} : 10以内的整数${random.int(6,10)} : 6-10的整数${random.int[6,10]} : 6-10的整数${random.int!6,10!} : 6-10的整数(符号随便用)${random.uuid} : UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的...原创 2022-06-27 12:30:54 · 647 阅读 · 0 评论 -
SpringBoot测试事务回滚@Transactional@Rollback
目的:让测试产生的数据不提交事务(即回滚),不做脏数据测试类上加注解@Transactional原创 2022-06-27 11:31:43 · 1895 阅读 · 0 评论 -
SpringBoot测试类中启动Web环境
1 在测试类中启动Web环境 2 开始虚拟匹配方式1 匹配响应执行状态方式2 匹配响应体方式3 匹配响应体(json)方式4 匹配响应头原创 2022-06-26 20:29:07 · 859 阅读 · 0 评论 -
SpringBoot临时属性properties、args
设置临时属性目的:应用于小范围测试环境(不是配置文件中的属性)原创 2022-06-26 16:27:36 · 558 阅读 · 1 评论 -
yaml文件密码没错,报密码错误分析
错误原因还原: 解析:密码是0127为什么会被解析为87?因为yaml文件把0127默认当成八进制的数字了,转换为10进制就是87,然后解析成字符串 解决办法:String类型的数据在yaml里加""表达原创 2022-06-25 12:44:52 · 202 阅读 · 0 评论 -
SpringBoot bean的属性校验@Validated
1 导入validation和hibernate的依赖2 开启对当前bean的属性注入校验 @Validated3 设置具体的规则 @Max(value=8888,message = "最大值不能超过8888")代码pombean校验 测试结果 总结原创 2022-06-25 12:21:27 · 344 阅读 · 0 评论 -
SpringBoot常用计量单位应用Duration 、DataSize
也可以不用这两个注解@DurationUnit@DataSizeUnit,直接在配置文件写单位,但前提是类中属性类型要写Duration和DataSize原创 2022-06-24 21:46:32 · 2546 阅读 · 0 评论 -
SpringBoot松散绑定(宽松绑定)@ConfigurationProperties
1 认识松散绑定2 松散绑定由@ConfigurationProperties注解支持原创 2022-06-24 21:05:00 · 727 阅读 · 0 评论 -
SpringBoot第三方bean属性绑定@ConfigurationProperties、@EnableConfigurationProperties注解使用
@ConfigurationProperties 可以为第三方bean绑定属性@EnableConfigurationProperties:在使用处注入使用@ConfigurationProperties注解的类,和@Component不能同时使用3 测试@ConfigurationProperties 可以为第三方bean绑定属性结果 总结 相关: 自定义封装yaml数据示例代码: yaml 自定义的配置类 测试 结果最后备注.........原创 2022-06-24 19:17:49 · 599 阅读 · 0 评论 -
IDEA热部署
热部署:修改完功能, 不用 手动重启 服务器,会自动重启服务器 生效1 添加依赖2 勾选自动build3 启动运行时也自动编译原创 2022-06-24 16:07:50 · 6681 阅读 · 2 评论 -
IDEA日志输出格式控制、文件记录日志
logging:pattern:console%d: 日期时间%m: 消息%n: 换行%p: 日志级别%5p: 日志级别宽度设为5个字母 (因为最长的debug是5个字母)%clr(%5p): 日志级别宽度设为5个字母并显示成彩色%t: 线程名%c: 类名%40c: 类名40位宽(默认右对齐)%-40c: 类名40位宽(左对齐)%-40.40c: 类名40位宽,内容超过40就删除(左对齐)%clr(%-40.40c){cyan}: 类名40位宽,内.........原创 2022-06-24 14:39:01 · 3785 阅读 · 0 评论 -
IDEA日志操作、分组设置日志级别、lombok快速创建日志对象
日志的作用1 编程期调试代码2 运营期记录信息 日常运营重要信息(峰值流量,平均响应时长...) 应用报错信息 运维过程数据(扩容,宕机,报警...)原创 2022-06-23 22:40:19 · 2964 阅读 · 0 评论 -
SpringBoot多环境开发控制(如何用maven控制SpringBoot的环境)
当maven与SpringBoot同时对多环境进行控制的时候,以maven为主 IDEA启动,maven 的配置@profile.active@ 被解析成dev了 备注:如果IDEA控制台用哪个环境和当前的配置不符,需要maven compile一下(clean不好用)原创 2022-06-23 14:46:24 · 211 阅读 · 0 评论 -
SpringBoot多环境开发分组管理group
主配置文件application.yaml包含引用了下面的3个配置文件application-dev.yamlapplication-devDB.yamlapplication-devMVC.yaml原创 2022-06-23 13:28:43 · 518 阅读 · 0 评论 -
项目上线后换端口号、在IDEA下测临时属性(端口号)是否生效
java -jar 工程名 --server.port=8080原创 2022-06-22 20:04:56 · 226 阅读 · 0 评论 -
IDEA打包程序与运行(windows环境)
在Windows上运行要把程序放在专用的服务器上把IDEA的程序抽取出来,变成一个独立的包 maven -- lifecycle -- test -- 跳过测试(让打包的过程不执行test里的代码) maven -- lifecycle --( clean) package--然后在项目目录 target下就会出现打包好的jar 二 在Windows上运行把程序包放在服务器上1 确认IDEA关掉了服务(否则会发生端口冲突)2 找到本地jar...............原创 2022-06-22 13:28:19 · 1390 阅读 · 0 评论