240 发简信
IP属地:浙江
  • Nodejs最佳实践

    项目结构实践 组件式构建解决方案推荐: 通过组件构建解决方案 避免: 按照技术角色对文件进行分组 分层设计组件,保持Express在特定的区域每一个组件都应该包含层级,一个专...

  • Nodejs CLI最佳实践

    使用库 启动设计 方括号([]) 表示可选参数,尖括号(<>) 表示必选参数 总体设计 参考docker命令行设计docker 对子指令进行详细描述 运行命令docker i...

  • TypeScript装饰器

    前言 装饰器分类 类装饰器 属性装饰器 方法装饰器 参数装饰器需要在tsconfig.json中启用experimentalDecorators编译器的选项 类装饰器 申明为...

  • 线程锁概念

    synchronized 和 volatile 使用 线程抛出异常,锁会被释放 如下demo 如果不想释放那把线程锁,则在1 / 0 地方加上try/catch。则本段程序不...

  • 120
    Maven Wrapper

    前言 Maven Wrapper是受到Gradle Wrapper的启发而来的。一个Maven Wrapper就是Java工程根目录下的mvnw和mvnw.cmd文件以及.m...

  • 120
    Redis 应用场景

    手机验证码场景 redis里面存储过期时间。通过校验redis里面存储的值来校验验证码是否过期或者是否正确。 校验逻辑 延伸 邮件的激活也是类似,通过下发一个随机的激活码,但...

  • mysql建表规范

    存储引擎必须使用InnoDBInnoDB 支持事物,行级锁,并发性能更好,CPU以及内存优化更高 必须设置主键ID,并且使用主键自增,除非是在分库分表的环境下由于InnoDB...

  • npx使用

    前言 npx最想要解决的主要问题,就是调用项目内部安装的模块。比如我们通过-D安装了 Mocha工具。 如果需要调用mocha的命令只能通过 npx就是解决这个问题的,让项目...

  • Stream reduce

    前言 reduce是对Stream元素进行聚合求值,最常见的就是讲Stream的一连串的合成为单个值。reduce方法有三个重载方法 第一个接受BinaryOperator的...

  • 120
    Lambda浅解

    lambda常见语法格式 无参,无返回值 有返回值 方法引用 函数式接口 函数式接口只包含一个抽象方法声明接口。使用@FunctionalInterface注解。这样函数式接...

  • Java SPI 思想

    简介 java SPI 需要遵循的约定如下: 当服务者提供某个接口的实现后,在jar包中的META-INF/ervices目录下创建一个以接口全限定为命名的文件。内容为实现类...

  • JAVA之 JDBC

    简介 JDBC,是一个面向对象的应用程序接口,用来访问各种关系数据库驱动程序 由数据库厂家进行提供,是链接JDBC API和具体数据库的桥梁 使用 JDBC只要安装了JAVA...

  • Spring boot 启动时候运行DDL或者DML语句

    步骤 数据源 在resources文件下建立student.sql 注意 需要设置 initialization-mode: always7

  • Spring boot 之国际化

    实战 通过application.properties改变国际化文件存储位置 新建国际化文件比如messages_en_US.properties, messages_zh_...

  • Spring boot 之扩展Spring MVC功能

    前言 Spring boot做了很多默认自动配置的功能。可以在spring-boot-autoconfigure中在web/servlet/WebMvcAutoConfigu...

  • SpringBoot系列 - 自定义starter

    前言 starter可以认为是一种服务,某个功能开发者不需要关注各种依赖库的处理,不需要具体的配置信息。由Springboot自定注入需要的bean。比如spring-boo...

  • Spring 之@Conditional 注解

    说明 首先我们看下 Conditional注解 可以看出,需要使用Conditional注解必须实现Condition接口。 Demo

  • Spring boot 支持多种外部配置方式

    优先级如下 命令行参数 来自java:comp/env的JNDI属性 JAVA系统属性(System.getProperties()) 操作系统环境变量 来自Jar包外部的a...

  • 120
    Java启动时候传递变量

    简介 我们在idea中设置可以看到,传递变量的几种方式 VM options 虚拟机参数,通过System.getProperty获取 Environment variabl...

  • 通过Environment对象获取配置

    简介 通过Autowired注入Spring的Environment对象。并且通过该对象的getRequiredProperty("key") 方法可以获取到配置文件中对应 ...