0%

时间是一种尺度,在物理定义是标量,借着时间,事件发生之先后可以按 过去-现在-未来 之序列得以确定(时间点),也可以衡量事件持续的期间以及事件之间和间隔长短(时间段) —— 维基百科

阅读全文 »

众所周知国内的开发已经由原来的“致敬”到现在软件生态领域的“引领”(目前来说还未到真正引领)世界技术发展,但是一个问题始终还是未能有所突破,作为中国的开发者每次在面对新的技术在环境搭建就劝退了一众人,很多开发所依赖的项目资源都来自国外服务,而由于中国的特殊,对很多国外服务的限制,让你在开始的第一阶段总是碰的鼻青脸肿,把大量的时间浪费在环境搭建的等待上,虽然现在很多开源组织或者一线大厂提供了相应的镜像服务方便国内的开发者,但很多都还需要我们自行去更改或者解决这些问题,本篇文章就是我的开发之路上的各种网络问题的解决办法

阅读全文 »

正如我们看到的 SpringBoot 应用启动入口类,main() 方法中一行简单 SpringApplication.run(MyApplication.class, args); 就可以将 SpringBoot 应用给启动了。那么它肯定是在SpringApplication中做了大量的工作,才能将应用启动,因此本篇文章我们来一起看看这个核心的类

SpringApplication 类可以从 Java 的 main 方法中引导和启动 Spring 的应用,默认情况下它会按照如下的启动步骤

  1. 创建一个恰当的 ApplicationContext 实例(取决于你的 classpath 路径)
  2. 注册一个 CommandLinePropertySource 将命令行参数作为 Spring 的属性(换句话说,可以通过命令行来传递当前应用所需要的一些属性)
  3. 刷新应用的 Context(内容上下文),并加载所有单例的 beans
  4. 触发每个 CommandLineRunner beans
阅读全文 »

SpringBoot 与 SpringCloud 微服务技术栈体系本质就是围绕注解来展开,这些注解在微服务框架中扮演非常重要的角色,每个注解都有他的应用场景,通过一些注解的组合让 SpringBoot 与 SpringCloud 开发变的简单和高效,本篇文章我们就来汇总 SpringBoot 相关的注解

本篇文章基于如下版本

  • Spring:5.1.8 RELEASE
  • SpringBoot:2.1.6 RELEASE
阅读全文 »

日志是我们项目开发过程中必不可少的一个方面, 当我们项目引入了 spring-boot-starter-web 这个 jar 包,会自动引入相关的一些日志相关的 jar 包,比如,其实在项目中可供我们选择的 jar 包有很多,比如 log4jlog4j2logback(现在使用最多),slfj等,在具体使用时并不会直接去使用log4jlog4j2而是使用slfj作为门面,具体的实现是通过可插拔的方式提供。logback实际是在log4j之后作者重新写的一个日志框架。

本篇文章主要讲logback在项目中的应用

logback-spring.xml

文件名使用 logback-spring.xml,位于 resource 路径下

在 SpringBoot 项目中,常用的包管理分别为 maven 和 gradle,在不同包管理下我们如何实现多环境的项目配置,这是实际项目开发过程汇总必备的一项技能,可以大大提高我们开发部署效率,同时也避免了人为的频繁改动配置造成的问题等,有些人可能会问了,maven 不是用的好好的嘛,干嘛还要用 gradle,首先我们可以看现在主流开源项目在提供引入方式时都是有提供了 gradle 依赖方式,以及 gradle 支持编写脚本,在很大程度上让管理更加便捷和人性化

阅读全文 »

回顾 2019 最重要一点是角色的转变,由客户端开发者转变为服务端开发者,虽然两者都是编码,但是在本质上有了区别,客户端面向的是用户,服务端面向的是客户端开发者,技能上由原来的单一 Android 系列上升到,整个 Spring 生态,和 Linux 体系,思想上由简单上升到高性能,高并发,函数式编程的思想。经过 5 个月的摸索和学习,还算是安全上了服务端开发的车,这里感谢那些帮助我的同事和朋友(大师傅大蛇丸卡卡西),谢谢你们不厌其烦的为我指明道路和方向

19 年涉及的技术领域主要是 Java,Netty,Flowable,SpringBoot这几个领域,客户端主要涉及二维码,以及项目开发基础框架整合和移动端开发技能栈总结

阅读全文 »

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

Apache Thrift软件框架,用于可扩展的跨语言服务开发,它包含软件栈和一个代码生成器用于构建服务,这个服务可以高效并且无缝的在 C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Node.js,Smalltalk,OCaml 和 Delphi 等其他语言间协作

阅读全文 »