原创 07-Spring-Profile,靈活定製啓動環境

需求:比如我們需要在開發和測試兩個環境進行切換,那麼這個時候,我們又不想頻繁修改我們的配置文件,這個問題怎麼辦?方案:Spring爲我們提供了Profile機制如果是結合@Bean註解,則可以使用@Profile("dev")註解,然後在

原创 03-Spring-IOC容器的設計

Spring-IOC容器的設計主要基於BeanFactory和ApplicationContext兩個接口。BeanFactory的源碼:它的子接口及關鍵實現類:我們常用的接口是ApplicationContext接口,而Classpat

原创 12-SpringAOP編程實現-實踐得真知-下篇(XML的方式)

在之前,我們主要講了以註解的方式來實現AOP,本篇我們來談談XML的實現方式,在項目開發中,我們基本是兩種方式混合使用,所以這個也是需要掌握的方式之一。1,創建接口和實現類(跟之前沒差別,就是少了個@Component註解)2,創建切面類

原创 05-Spring Bean的裝配方式

我們如何將自己開發的Bean裝配到Spring-IOC容器中,基本來說有3種方式:1,通過XML進行配置<bean id="" class=""></bea>2,通過註解進行配置,可以有效減少XML的配置,推薦使用首先,在需要被Sprin

原创 06-Spring-Bean的作用域-淺談struts2安全漏洞

Spring-Bean的作用域有4種1,單例(singleton),默認設置,只會產生一個實例2,原型(prototype),每次都會產生一個新的實例3,會話(session),在web應用中,在整個會話過程中只創建一個實例4,請求(re

原创 02-Spring-IOC概述

今天,我們開始來談Spring的核心IOC。IOC(Inversion of Control),控制反轉舉個例子,生活的例子,我想喝杯咖啡來醒醒神,那麼這個時候,我有兩種選擇,一種是通過自己買來咖啡豆,然後自己製作;另一種選擇就是直接到星

原创 01-Spring的歷史

在Java開發的世界裏,Spring框架是最重要的開發框架,沒有之一,所以掌握Spring非常重要,今天,我們從Spring的歷史開始談起。Spring的第一個版本從2004年開始,至今已有十幾年的歷史。作者是來自澳大利亞的工程師RodJ

原创 10-Spring-AOP編程實現-實踐得真知-上篇

首先,要明確兩個問題:1,AOP編程可不是Spring獨有的,Spring只是支持AOP編程的框架之一,這一點非常重要,切勿搞反了關係。2,AOP分兩類,一類可以對方法的參數進行攔截,一類是對方法進行攔截,SpringAOP屬於後者,所以

原创 08-你真的看懂了SpringAOP的運行機制嗎?

之前我們談了Spring-IOC,這是非常巧妙的思想,今天我們繼續來探討Spring的另一個重要特性Spring-AOPAOP(Aspect Oriented Programming):面向切面編程什麼是面向切面編程,我的理解是,在沒有使

原创 04-Spring Bean注入方式

實現IOC容器主要有兩種方式:1,依賴查找2,依賴注入,Spring採用的是依賴注入的方式依賴注入又分爲3種方式:2.1 構造器注入2.2 setter注入2.3 接口注入構造器注入和setter注入背後都是採用反射的技術來實現。接口注入

原创 13-SpringAOP最強大的通知-環繞通知

爲什麼說環繞通知是SpringAOP最強大的通知,因爲他可以將之前的幾個通知融合到一起,所以功能相比其他通知,會更加強大和靈活。下面,我們通過代碼來理解下:1,爲了跟之前的切面類區分,我們創建一個新的切面類2,編寫測試程序,來驗證結果這就

原创 09-秒殺AOP常用術語,一篇就夠

AOP的常用術語,常常是初學者感覺比較乏味的,下面我們結合上一篇文章的圖來進行對照說明。建議大家可以先看下後面的圖,再來對比下前面的說明,會更清晰1,切面(Aspect)比如上文討論的數據庫事務,這個數據庫事務代碼貫穿了我們的整個代碼,我

原创 11-SpringAOP-關於切點和織入說明(JDK和CGLIB再也不迷糊)

1,切點的說明,我們在上篇文章中使用正則表達式定義了切點,在此我對這段正則表達式做一個說明,幫助沒基礎的同學方便理解。execution(* com.spring.aop.UserServiceImpl.showUser(..))exec

原创 分享技術,享受更美好的人生

回想自己一路走來,也有好些年頭了,從最初的懵懵懂懂,到現在的煥然大悟,哈哈,其實,感覺技術就是一個浩瀚的宇宙,無邊無際,完全可以自由的遨遊,無拘無束,會很多美好的技術可以去探索,研究,並感受其中的美好。技術的世界是單純的,同時也可以給我帶

原创 每天一道面試題-談談對面向對象思想的理解

這個問題,通常會讓很多人有點不知所措,感覺我一直在編碼,但是說到思想很難去闡述。 下面,我說說自己的想法, 首先,談談“面向過程”vs“面向對象” 我覺得這兩者是思考角度的差異,面向過程更多是以“執行者”的角度來思考問題,而面向對象更多是