原创 c# 優化代碼的一些規則——const 和 readonly[二]

前言 在c# 的世界中,在初學的時候,可能很難區分readonly 和 const,兩者都是不可修改。 看到這兩個單詞,我們想的是,最多他們的區別也不會太大。然後事實卻出乎我們的意料。 正文 這兩個聲明變量根本是不同時期的變量。 reado

原创 面向切面編程AOP[一](java 代碼詳解)

前言 說句實話,在工作中,使用的aop不是特別多,但是特別重要,一般是輔助程序,在現代開發者輔助程序相當重要,比如說我們需要打印一些log,但是我們不可能去卸載我們的業務程序中,因爲這太。。。。。 正文 那麼如何開啓一個aop呢?用log舉

原创 面向切面編程AOP[二](java @EnableAspectJAutoProxy 代碼原理)

前言 @EnableAspectJAutoProxy 是啓動aop功能的意思,那麼裏面是什麼呢? 正文 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Doc

原创 c# 優化代碼的一些規則——優先隱式類型[一]

前言 說到底就是優先使用var,這個關鍵字,在c# 3.0中出現了。 首先要確認幾點,一個就是var 是靜態變量,而不是動態變量,也就是說使用var 你是不必去擔心性能問題得, 百度百科: 1)靜態存儲變量通常是在變量定義時就分定存儲單元並

原创 重新整理.net core 計1400篇[十] (.net core 中的依賴注入的服務的生命週期)

前言 首先我們知道一個東西,那就是生命週期和timelife 的配置有關。 正文 首先看下IServiceProvider的數據結構: 其數據結構是一顆樹: 我是一個抽象畫家,紅色部分是IServiceProvider,黑色部分是ISer

原创 重新整理.net core 計1400篇[九] (.net core 中的依賴注入的服務的消費)

前言 包含服務註冊信息IServiceCollection 集合最終被用來創建作爲依賴注入容器的IServiceProvider 對象。 當需要創建某個服務實例的時候(服務消費),我們通過指定服務類型調用IServiceProvider 接

原创 重新整理.net core 計1400篇[九] (.net core 中的依賴注入的服務注入)

前言 在該系列六中介紹了一個簡單的依賴注入,該節介紹.net core 中的依賴注入的服務注入。 ServiceDescriptor ServiceDescriptor 是服務描述的意思,這個是做什麼的呢? 我們知道當我們要實例化一個服務的

原创 重新整理.net core 計1400篇[八] (.net core 中的依賴注入的深入理解)

生命週期策略 在實例Transient 和 Scoped 中,所以實現Idisposable 接口的服務實例會被當前IServiceProvider 對象保存起來,當IService 對象的Dispose 方法被調用的時候,這些服務實例的D

原创 重新整理.net core 計1400篇[六] (.net core 一個簡易版的依賴注入容器 )

前言 我們瞭解到一個依賴注入的形式是: 注入依賴服務:var root = new Cat().Register<IFoo, Foo>(Lifetime.Transient); 獲取對應的實例: GetServices(cat1); 那麼這

原创 spring boot @propertySource @importResource @Bean [六]

@propertySource 指定property的配置源。 創建一個person.property: 然後修改person註解; 在運行test之後,結果爲: @importResource 這個importResource是用來

原创 spring boot 手動value和自動注入配置的區別[五]

前言 前面兩篇中,寫道我們注入配置的方式,是通過是註解的方式完成,如下: @ConfigurationProperties(prefix ="person") 這意味着: 我們寫一個person類,我們就需要在配置中寫下person的配置

原创 spring boot 配置文件佔位符和多環境配置 [七]

配置文件佔位符 person.last-name=zhangsan person.age=${random.int} person.birth=2017/12/15 person.boss=false person.maps.k1=v1 p

原创 spring boot properties 編碼問題[四]

情景 application.properties 中: server.port=8081 person.last-name=張三 person.age=18 person.birth=2017/12/15 person.boss=fals

原创 js console一些常用的功能

前言 很多時候我們在調試的時候經常用console.log,我感覺其實一個就夠了,但是有時候你不可能寫一步就去調試下,所以呢,經常用幾個console.log,有時候挺難找的,後面翻了翻console的這個知識的,發下還有很多可以用的,總結

原创 js es6深入應用系列(Generator)

前言 generotor 和 普通函數的不同在於function 的時候加了一個*, 是的,我們看到es5的一個陌生關鍵字,yield,這個是不尋常的,爲什麼這麼說呢? 這個在c#中,很常見的一個關鍵字,下面就來解釋一下js中的。 正文 f