原创 String... 可变长度参数列表

一次看到String…时,这是什么语法,查找资料后,原来它叫可变长度参数列表String…1.参数类型是String;2.参数个数有0个,或多个; String…可以类比成数组String[],数组长度不定(长度可以是0,也可以大于0)public class DemoController { public void test(String aa){ run(); run("a"); run("a","b"); run("

2020-07-06 18:32:02 112

原创 Hibernate Validator 校验注解
原力计划

Hibernate Validator 校验注解:自定义消息上面约束都都默认约束违规消息,当然我们也可以自定义。@NotNull(message = “name不为空”)private String name;@Min(value = 2,message = “count最小值应为{value}”)private int count;单个参数约束public void test2(@NotNull @Future Date startDate,@Min(1) int count) {

2020-07-06 18:27:09 106

原创 工厂模式-微信支付、支付宝支付
原力计划

工厂模式-微信支付、支付宝支付当我们做支付项目时,常常项目中需要接入多种支付方式(微信、支付宝、银联等)。其实这些支付方式,都存在一些类似的业务接口,比如支付、查询、退款等等。区别就在于每一家参数不一致(参数名不一致)。我们可以利用工厂模式将支付厂商封装起来。利用工厂模式,我们可以更方便的选择支付方式接口。下面代码仅仅是结构,暂无具体的支付实现,下面代码以java代码为例,工厂模式与编程语言无关,其他编程语言也可以,如C# , Go代码中类似ResultCreatePay、CreatePayP

2020-06-29 21:44:59 492 3

原创 RabbitMQ配置生产者和消费者

默认已经安装好RabbitMQ服务下面进行项目中生产者和消费者的配置一、添加依赖在项目文件pom.xml中添加依赖<!-- RabbitMQ集成spring --><!-- https://mvnrepository.com/artifact/org.springframework.amqp/spring-rabbit --><dependency> <groupId>org.springframework.amqp</groupI

2020-06-21 19:28:51 99

原创 Vue CLI配置Vue Router

一、安装Vue Router安装命令:npm install vue-router安装后在根目录中的package.json中的dependencies会声明vue-router的依赖包二、手动创建Router配置文件1.在src下创建router文件夹2.在router文件夹下创建router.js文件3.在router.js文件中进行配置import Vue from 'vue'import Router from 'vue-router'import Tow from '../

2020-05-11 21:01:34 125

原创 Net Core Web Api 配置Swagger

一、创建NET Core API项目NET Core 2.2二、安装Swagger打开NuGet包管理器搜索Swashbuckle.AspNetCore安装在项目上三、配置Swagger1.ConfigureServices配置服务配置Swagger生成器服务services.AddSwaggerGen(c =>{c.SwaggerDoc(“v1”, new OpenAp...

2020-05-06 18:15:48 127

原创 .NET Core ConfigureServices与Configure

经常看到这个两个ConfigureServices与Configure,对于它们的用法总是说不清道不明,下面看了微软官方文档,再次记录总结下简单的说1.Configure配置请求管道2.ConfigureServices配置服务一、官方说明1.ConfigureServicesThis method gets called by the runtime. Use this metho...

2020-04-30 11:19:35 547

原创 Vue-子组件向父组件传值

父组件向子组件传值可点击查看子组件向父组件传值依赖$emit, 触发事件,附加的参数也会传给监听器回调。一、子组件1.触发点击时,将值传给父组件2.关键字this.$emit3.valToFather是子组件和父组件的公共绑定事件,名称必须一致<template> <div> <div v-for="(item,index) in list" ...

2020-04-21 12:06:38 105

原创 Java-Stream sorted 排序

sorted 方法用于元素排序一、升序List<userInfo> userList = new ArrayList<>();// userInfo字段 UserId; Age; NickName; Sex 1:男 2:女; moneny零花钱userList.add(new userInfo(1,24,"小明",1,new BigDecimal("11")))...

2020-04-07 17:33:26 446 2

原创 Java-Stream map 映射元素

map 方法用于映射元素,且映射时可加入计算逻辑一、List map映射一个字段,转为新ListList<userInfo> userList = new ArrayList<>();// userInfo字段 UserId; Age; NickName; Sex 1:男 2:女 ; Money BigDecimaluserList...

2020-04-03 10:17:32 240

原创 Java-Stream filter 过滤数据

一、filter 条件过滤public void test(){ List<userInfo> userList = new ArrayList<>(); //userInfo字段 UserId; Age; NickName; Sex 1:男 2:女 userList.add(new userInfo(1,22,"小明",1)); us...

2020-03-29 18:10:34 385

原创 Vue-父组件向子组件传值

下面示例中是:父组向子组的单向数据流父级的更新会向下流动到子组件中,但是反过来则不行。每次父级组件发生更新时,子组件中所有的prop都将会刷新为最新的值。一、父组件引入、注册、调用、传值子组件1.引入:import son from "../son";2.注册:components: { son }3.调用:<son></son>4.传值:<son :fa...

2020-03-27 13:28:50 114

原创 VS Code 新建、编辑及预览Markdown文档

一、打开VS Code 新建文件二、保存文件,保存文件类型选择为MarkDown保存成功后,则可以看到文件的扩展名已经变成.md三、使用MarkDow语法编写文档# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题*斜体文本* _斜体文本_**粗体文本**__粗体文本__***粗斜体文本***___粗...

2020-02-21 18:28:23 305

原创 c# 多态(重载overload、重写override、虚方法virtual、抽象方法abstract)

一、定义多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态有下面概念:重载、重写、虚方法、抽象方法以及隐藏方法。二、重载(overload)(1)方法名必须相同(2)参数列表必须不相同(3)返回值类型可以不相同public void Sum(){ int a = 1 + 1;}public void Sum(int input)...

2020-02-19 19:07:37 184

原创 CSS-div水平居左-居右-居中显示

知识点1.div是块级元素,特性是块级元素独占一行显示,三个div默认会显示三行。2.在div块级元素,加上css的display:inline属性可以修改成行内元素,三个div都加上css的display:inline属性,则会在一行中显示。3.要实现div元素居中,需要设置父级元素内容居中text-align: center;4.通过浮动float,设置居右或居左 <h...

2020-01-23 11:41:42 2184

原创 Vue-绑定Class

绑定Class的语法为 v-bind:class , 可以简写成 :class绑定Class时,常用绑定字符串、绑定对象,绑定数组。三种方式绑定,只有绑定对象时候,css的class引号可以省略通常我们绑定Class时,可能会用到三目运算, 顺带每种绑定方式使用三目运算举例一、绑定css中的class字符串语法v-bind:class="‘样式class’", 引号不可以省略三目运算 ...

2020-01-22 16:13:38 589

原创 JS-数组方法filter和map

一、生成两个数组var numArr = [1,8,78,115,10,80];var tlbb = [ {userId:1,name:"乔峰",age:40,sex:1}, {userId:2,name:"段誉",age:28,sex:1}, {userId:6,name:"虚竹",age:35,sex:1}, {us...

2020-01-21 16:14:15 602

原创 JS-数组方法 toString() join() concat() slice()

一、生成两个数组var carEnterprise = ["长城", "比亚迪"];var carDetail = [{enterprise:"长城",brand1:"哈佛",brand2:"WEY"}, {enterprise:"比亚迪",brand1:"王朝",brand2:"F系"}];二、toString() 逗号拼接,转化成字符串toStri...

2020-01-21 11:53:52 596

原创 JS-数组 创建 读取 修改 追加、遍历

一、创建数组(1) 数组文本,直接赋值[ ] var carEnterprise = ["长城", "比亚迪"]; var carDetail = [{enterprise:"长城",brand1:"哈佛",brand2:"WEY"}, {enterprise:"比亚迪",brand1:"王朝",brand2:"F系"}];(2) 关键...

2020-01-21 10:28:48 573

原创 CSS-框模型处理 外边距、边框、内边距、元素内容

<html><head></head><body> <div> <p>内容、文字,元素内容</p> </div></body></html>说明:1.以p标签为参考对象2.外边距(margin): p到div的距离3.边框(b...

2020-01-19 17:54:54 652

原创 CSS-选择器,id 选择器、元素标签选择器、类选择器、多类选择器、属性选择器

1.id 选择器id 选择器以 “#” 来定义。id 属性只能在每个 HTML 文档中出现一次。<html><head> <style> #idp{ color: red; } </style></head><body> <div> ...

2020-01-19 17:52:03 536

原创 CSS-包含选择器、后代选择器

说明:1.包含选择器也可以叫做后代选择器。利用父子级关系进行选择.2.父子级关系,从父级到子级的顺序,用空格分隔<html><head> <style> .div1 .div1-1 .div1-1-p{ color: red; } .div2 .div2-1 .div2-1-p{ colo...

2020-01-19 17:51:25 486

原创 CSS-子元素选择器

说明:1.子元素选择器,只能选择作为某元素的子元素。2.子选择器使用:大于号">",进行分割<html><head> <style> .div1 .div1-1 .div1-1-p{ color: red; } .div2 .div2-1 > .div2-1-p{ colo...

2020-01-19 17:50:54 479

原创 CSS-优先级

优先级:由高到低依次是: 内联样式 > 内部样式表 > 外部样式表 > 浏览器缺省设置 优先级:由高到低依次是1,2,3,41.内联样式(在 HTML 元素内部)<html><body> <div> <p style="color: red;">内联样式(在 HTML 元素内部)</p&g...

2020-01-19 10:36:33 500

原创 线程thread、进程Process

一、概念1.线程(thread):是操作系统能够进行运算调度的最小单位。操作系统分配资源以进程为基本单位。2.进程(Process):操作系统是分配资源和调度资源的基本单位,进程是线程的容器。同一进程中的多条线程将共享该进程中的全部系统资源。二、具体说明在操作系统windows中,一个应用程序(IE浏览器、QQ、网易云音乐等等)至少包含一个进程(Process),一个进程至少包含一个线程(...

2019-12-04 18:06:08 602

原创 .NET Core 中AutoMapper的配置及使用

一、AutoMapper说明1.AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。二、.NET Core中配置AutoMapper1.NuGet安装AutoMapper.Extensions.Microsoft.DependencyInjection2.创建配置文件,并添加映射配置需要继承AutoMapper中的Profi...

2019-11-14 18:05:03 858

原创 控制反转(IOC)、依赖注入(DI)

一、概念1.控制反转(IOC):通俗理解为“将控制权交出去,交给调用你的人去控制”,是一种设计思想或原则,而不是一种具体的实现。具体实现控制反转最常见是方法是依赖注入。2.依赖注入(DI):通俗理解为“自己调用方法前,先将它依赖传递给它,再进行调用”二、举例:A类中需要调用B类中的b方法,但是b方法中又需要C类中的c方法。1.未使用控制反转思想:A类调用B类,B类直接调用C类。na...

2019-11-08 17:13:37 640

原创 ABP框架—后台:调用存储过程Stored Procedures、视图Views(11)

在使用ABP框架构想项目时,如果想在仓储层调用存储过程,视图等对象,我们可以自定义一些方法来使用。

2019-11-06 18:23:56 1477

原创 Vue—new Vue()

1.newVue()创建一个新的Vue实例2.el挂在原色el绑定的元素内,都是Vue的作用范围3.data数据对象当一个Vue实例被创建时,它将data对象中的所有的属性加入到Vue的响应式系统中。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。<html><head> <script src="...

2019-10-10 18:23:54 2358

原创 Vue—指令v-text、v-html、v-show、v-if、v-else、v-else-if、v-for、v-on、v-bind、v-model、v-slot、v-pre、v-cloak、v-on

1.v-text(文本插值)<html><head><scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><divid="app"><...

2019-10-09 18:33:58 720

原创 Vue—生命周期

生命周期图:每个Vue实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。<html><head> <!-- 开发环境版本,包含了有帮助的命令行警告 --> ...

2019-09-27 18:02:33 577

原创 TypeScript学习——模块的export与import

ES6引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。ES6的模块化分为导出(export)@与导入(import)两个模块。一、特点1.ES6的模块自动开启严格模式,不管你有没有在模块头部加上usestrict;。2.模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。3.每个模块都有自己的上下文,每一个模块内声...

2019-09-27 14:38:08 3479

原创 TypeScript学习——类class

在ES6中,class(类)作为对象的模板被引入,可以通过class关键字定义类。class的本质是function(代码翻译成javascript就是function)。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。一、类声明,关键字为class方法一:classExample{}方法一:letExample1=clas...

2019-09-26 17:10:24 597

原创 TypeScript学习——let、var

一、let与varlet是在代码块内有效,var是在全局范围内有效:{leta=0;varb=1;}a//ReferenceError:aisnotdefinedb//1二、for循环计数器用let还是var,let更合适说明:javascript是单线程的,setTimeout()等当前程序线程执行完,才开...

2019-09-26 15:28:44 604

原创 TypeScript学习

TypeScript是JavaScript的一个超集,扩展了JavaScript的语法,支持ECMAScript6标准。现有的JavaScript代码可与TypeScript一起工作无需任何修改,TypeScript通过类型注解提供编译时的静态类型检查。TypeScript由微软开发的自由和开源的编程语言。通常我们使用.ts作为TypeScript代码文...

2019-09-26 15:24:22 607

原创 ABP框架—后台:引入Abp.Dapper(10)

一、NuGet获取Abp.Dapper项目类库Application和项目类库EntityFrameworkCore添加Abp.Dapper引用,如图:二、创建实体Entity项目类库Core创建实体,如图:using Abp.Domain.Entities;namespace PD.Menu{ public class Sys_Menu : En...

2019-09-24 17:29:15 1372 1

原创 .Net Core 处理跨域问题

一、什么是跨域(源)跨域指的是从一个域名下去请求另外一个不同的域名下的资源。说明:跨域和跨源可以看作相同,只是用词不一样二、为什么会有跨域(源)这个问题原因:浏览器的同源策略导致了跨域(源)同源策略说明:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy举例:http://www...

2019-09-19 16:39:00 692

原创 ABP框架—后台:后台程序发布至IIS(6)

一、选择“Web.Host”, 点击右键,进行发布二,配置发布选项,选择“文件系统”,选择发布目录 三、 配置完后点击发布,如下图:输出工具输出发布信息四、IIS中查看模块中包含AspNetCoreModuleV2ABP 如果使用时Net Core 跨平台,它依赖AspNetCoreModuleV2模块...

2019-09-04 11:30:56 1808

原创 ABP框架—后台:日志log4net(9)

一、Nuget引入log4net依赖包如图:官方地址:http://logging.apache.org/log4net二、Startup中配置log4net在ConfigureServices方法中使用容器添加log4net以及配置log4net.configpublic class Startup{ public IServiceProvider Con...

2019-08-26 18:49:12 1001

原创 ABP框架—后台:应用服务ApplicationServices(9)

应用服务作用是将领域(业务)逻辑暴露给外部(vue前台等)。外部(vue前台等)通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回。因此,外部(vue前台等)和领域层将被完全隔离开来。在一个理想的层级项目中,外部(vue前台等)应该从不直接访问领域对象。此部分内容未使用DTO,后续文章会继续讲解此应用服务层在ABP框架...

2019-08-06 17:09:19 719

提示
确定要删除当前文章?
取消 删除