Spring Boot

HarmonyOS应用开发项目实战--在线课堂TV(一)

百般思念 提交于 2021-01-06 11:53:49
鸿蒙2.0已经发布了有段时间了,目前网上也有些小demo了,但是缺乏稍微大点的项目代码。我准备计划开发一个稍微正式点的项目,我写了个初略的项目需求清单,来体验鸿蒙应用开发。目前我已经着手实现了其中的一些重要功能,某些功能发现鸿蒙暂时不支持,但是还是先写上吧,后面慢慢摸索。我会陆续更新连载此贴,一步步从0基础讲解项目开发过程,然后巩固鸿蒙应用开发知识点。有错误的地方,也欢迎大家留言指教。 本项目已开发一个HarmonyOS平台的在线教育app为例,采用JS开发UI页面,服务端采用Java Springboot进行开发。主要涉及到鸿蒙的技术点包括:JS UI开发(各类常用组件和布局)、服务端数据交互、本地数据存储、JS FA与Java PA交互、视频播放、权限控制、app打包与发布、HMS服务对接、华为人工智能引擎对接等内容,基本包含了HarmonyOS APP开发所需的大部分知识点。 作者:软通夏德旺 想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://harmonyos.51cto.com 来源: oschina 链接: https://my.oschina.net/u/4857646/blog/4881210

三、SpringBoot-application.properties配置文件和application.yml配置文件

我只是一个虾纸丫 提交于 2021-01-06 10:43:35
其实SpringBoot的配置文件有.properties和.yml两种形式,两种配置文件的效果类似,只不过是格式不同而已,孩儿们可以根据下面这几种张截图,通过对比端口号的配置,以及连接SQLServer数据库的配置的书写格式来自己体会两者的不同,选择自己心仪的一款使用哦: 一、.properties和.yml的区别 注意!!!: 1、当properties和yml同时存在时,properties的优先级会比yml高(记忆技巧:这个世界上,谁长,谁NB) 2、两种文件都是用#注释 3、yml的优点在于可以省去一下重复代码 4、在properties文件里面的 “ .” 连接在yml文件里面全部换成 ":" 进行连接,并且每一级之间必须换行,在第二级开始应该进行一个Tab键的缩进,如果是同级的就不需要进行缩进 5、在yml文件里面如果是需要进行赋值那么必须是要在 ":" 后面进行一个空格键的缩进 6、在yml文件里面所有的配置,相同级别只能出现一次,比如我们使用了spring这个级别,那么我们在后边进行spring级别的配置的时候就必须在这个地方进行,不能在写一个spring级别 二、多个properties文件的切换: 在实际开发过程中我们可能需要在测试环境,以及生产环境,或者其他环境下进行切换,那么我们如果每次切换的时候都是一个个的配置参数进行修改,那还不得累死。。。

Java 中的 "弱" 引用是什么?

≯℡__Kan透↙ 提交于 2021-01-06 09:13:17
作者:telami 来源:www.telami.cn/2017/weak-reference/ Java里一个对象obj被创建时,被放在堆里。当GC运行的时候,发现没有任何引用指向obj,那么就会回收obj对象的堆内存空间。 换句话说,一个对象被回收, 必须满足两个条件: (1)没有任何引用指向它 (2)GC被运行。 在实际开发中,我们可以通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收,类似下面: Object c = new Car(); c=null; 但是,这样做是一件很繁琐并且违背GC自动回收原则的事。对于简单的情况, 手动置空是不需要程序员来做的, 因为在java中, 对于简单对象, 当调用它的方法执行完毕后, 指向它的引用会被从栈中弹出, 所以它就能在下一次GC执行时被回收了。 但是, 也有特殊例外. 当使用cache的时候, 由于cache的对象正是程序运行需要的, 那么只要程序正在运行, cache中的引用就不会被GC(或者说, cache中的reference拥有了和主程序一样的life cycle). 那么随着cache中的reference越来越多, GC无法回收的object也越来越多, 无法被自动回收。当这些object需要被回收时, 回收这些object的任务只有交给程序编写者了。然而这却违背了GC的本质

SpringBoot配置中@ConfigurationProperties和@Value的区别

隐身守侯 提交于 2021-01-06 06:46:59
基本特征 @ConfigurationProperties 与@Bean结合为属性赋值 与@PropertySource(只能用于properties文件)结合读取指定文件 与@Validation结合,支持JSR303进行配置文件值的校验,如@NotNull@Email等 @Value 为单个属性赋值 支持属性上的SpEL表达式 两者比较 @ConfigurationProperties @Value 功能 批量注入配置文件中的属性 一个个指定 松散绑定 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持 我们用简单的例子来说明一下。 假设在application.properties文件中这样写道: 1 student.name= zhangsan 2 student.age= 25 3 student.class= mba 4 student.squad-leader= false 5 student.mail= zhangsan@gmail.com 6 7 student.maps.k1= aaa 8 student.maps.k2= bbb 9 student.maps.k3= ccc 10 11 student.lists= a,b,c 12 13 student.score.english= 95 14 student

SpringBoot | @Value 和 @ConfigurationProperties 的区别

懵懂的女人 提交于 2021-01-06 06:06:25
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。 前言 最近有跳槽的想法,所以故意复习了下 SpringBoot 的相关知识,复习得比较细。其中有些,我感觉是以前忽略掉的东西,比如 @Value 和 @ConfigurationProperties 的区别 。 如何使用 定义两个对象,一个学生对象,对应着一个老师对象,代码如下: @ConfigurationProperties 学生类 @Component @ConfigurationProperties (prefix = "student" ) // 指定配置文件中的 student 属性与这个 bean绑定 public class Student { private String firstName; private String lastName; private Integer age; private String gender; private String city; private Teacher teacher; private List<String> hobbys; private Map<String,Integer> scores; //注意,为了测试必须重写 toString 和 get,set 方法 } 老师类 public class Teacher { private

日志系统新贵Loki,确实比笨重的ELK轻

纵饮孤独 提交于 2021-01-06 05:27:01
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | linkt1234 来源 | https://blog.csdn.net/Linkthaha/article/details/100575278 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了

Spring实战(中文4,5版) PDF含源码

£可爱£侵袭症+ 提交于 2021-01-06 05:06:10
Spring实战 读者评价 看了一半后在做评论,物流速度挺快,正版行货,只是运输过程有点印记,但是想必大家和你关注内容,spring 4必之3更加关注的是使用注解做开发,对于初学者还是很有用,但是不排除对老用户也很有帮助。,全书分为四大部分我目前只看到第三部分不做过多评价。 全书知识深度较浅, 但非常权威(针对Sp5.0会有部分过时内容), 且能够在如此有限的篇幅中覆盖如此广阔的内容, 实属不易也实属罕见. 第1部分(DI、AOP):稳扎稳打,巩固基础; 第2部分(Web):MVC最传统, 最精华, 也是最实用的部分. 第3部分(存储):SQL、NoSQL, 各种酷炫吊炸天的操作, 优化(简化)到极致的存储代码... 不得不服! 另外@Secured保护方法调用也绝对一大亮点(如果你能够遇到一次安全故障, 你会深刻认同我的说法(⊙﹏⊙)b). 第4部分(集成):与各种企业级服务集成, 同步:RPC、Rest; 异步: MQ、WebSocket、Email;管理: JMX... 哪些曾经想所未想、见所未见的技术, Spring已经帮你实现, 给你提供工具了. in action 系列的书就是读了特别容易上手。spring泡社区学习不够系统,读这本书就比较清楚了。主要还是侧着应用,读了一部分了,还是很推荐的,初学者拿来入门也是很好的。 这本书确实写的不错,书中举的例子也都比较有趣,骑士

Java 异步 IO

生来就可爱ヽ(ⅴ<●) 提交于 2021-01-06 04:11:36
阅读文本大概需要3分钟。 JDK 7 引入了 Asynchronous I/O, 即AIO。在进行 I/O 编程中, 常用到两种模式: Reactor 和 Proactor。 Java的NIO就是Reactor, 当有事件触发时, 服务器端得到通知, 进行相应的处理。 AIO即NIO2.0,叫做异步不阻塞的IO。 AIO引入异步通道的概念, 采用了 Proactor 模式, 简化了程序编写,有效的请求才启动线程, 它的特点是先由操作系统完成后才通知服务端程序启动线程去处理, 一般适用于连接。 异步IO功能的关键点,它们是Channel 类的一些子集,Channel在处理IO操作的时候需要被切换成一个后台进程。一些需要访问较大,耗时的操作,或是其它的类似实例,可以考虑应用此功能。 在这里只单独讲解针对文件IO操作的AsynchronousFileChannel,但是需要注意的是,还有一些其他的异步管道,包括: AsynchronousFileChannel:针对文件; AsynchronousSocketChannel :针对客户端的socket; AsynchronousServerSocketChannel:针对服务器端的异步socket,用来接收到来的连接。 针对异步管道的交互有两种不同的方式: Future 风格; callback 风格。 0x01:Future风格的异步

Spring Boot 2.4 CLI 快速使用示例

旧时模样 提交于 2021-01-06 01:28:00
你可以使用下面的命令行来创建 Web 应用程序来测试你的安装是否正常。 创建一个称为 app.groovy 的文件,文件的内容如下: @RestController class ThisWillActuallyRun { @RequestMapping( "/" ) String home() { "Hello World!" } } 然后从 Shell 中运行下面的命令: $ spring run app.groovy 当第一次运行你的应用程序的时候可能需要的时间比较长,这是因为系统需要从远程下载所需要的依赖。在后续运行的时候就会更加快速了。 在任何你喜欢的浏览器的地址栏中输入下面的地址: localhost:8080 ,然后应该能够在浏览器中看到下面的输出: Hello World! 访问 URL 确定输出正确。你也可以适当修改测试文件的内容,已再次确定运行正确。 https://www.ossez.com/t/spring-boot-2-4-cli/1074 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/4880870

从零开始学spring boot

…衆ロ難τιáo~ 提交于 2021-01-06 01:20:13
https://study.163.com/course/introduction/1004329008.htm?share=1&shareId=1383368957 适用人群 有Java web开发基础【前面几节视频是免费观看的,看看是否合适在选择要不要继续学习】 课程概述 (手机端支付不了可以使用PC端进行支付,另外在PC端可以下载源代码+PPT) 【源代码+PPT在视频观看页的参考资料】 网易云课堂视频最新更新(最近更新时间2018年4月14日): Spring Boot 2.0:Quartz持久化:动态任务管理 1、Spring Boot 2.0 quartz:任务动态管理-添加 2、Spring Boot 2.0 quartz:任务动态管理-删除 3、Spring Boot 2.0 quartz:任务动态管理-修改 4、Spring Boot 2.0 quartz:任务动态管理-启动停止所有任务 来源: oschina 链接: https://my.oschina.net/u/4060250/blog/2996700