Hasor 2.x Version

2018-09-28 11:38 更新

Hasor-Core v2.5.2 (2016-12-01)


新增

01. 新增 MyBatis 插件,該插件會依賴 DBModule。


改進

01. 整理出一個 Provider 實現(xiàn)工具類包。
02. BindInfoBuilder 接口遷移位置。


Hasor-Core v2.5.1 (2016-11-08)


新增

01. 新增 JFina 插件支持。HasorPlugin、HasorInterceptor、HasorHandler 三個插件。
02. AppContext 新增兩個 justInject 方法用于對某個標記了 Hasor 注解的對象執(zhí)行依賴注入。
03. SpringModule 插件類,增加 DefaultHasorBeanName 常量,表示當 Hasor 和 Spirng 集成時。如果 Spring 中的那么默認 Bean ID。


改進

01. Spring sechma 升級到 2.5.1。factoryID 不再是強制輸入。如果沒有配置 factoryID 會采用 "net.hasor.core.AppContext" 為默認名。
02. 簡化 Spring 集成,取消與 Spring 的 Event 雙向打通機制,如果開發(fā)者需要該功能可以自行基于 Spring 實現(xiàn)。
03. Hasor 在啟動的時候可以從外面?zhèn)鬟f Map 來指定環(huán)境變量了。之前只能通過 env.config 來指定環(huán)境變量。
04. 增加 WebHasor 類,繼承自 Hasor 類提供方便的 WebAppContext 初始化入口。


修復(fù)

01. Fix 因 ClassLoader 不同而導致的 shutdown 過程中可能的異常拋出。
02. Fix Spring集成時,無法使用最簡化 Hasor 配置的問題。


Hasor-Core v2.5.0 (2016-10-26)


新增

01. 新增 ClassAwareProvider、InfoAwareProvider 兩個工具類。
02. Hasor 新增一個 autoAware 方法的重載。
03. 新增 Hasor 和 Junit 的整合,通過 Junit 做 Hasor 單元測試更加方便了。
04. ApiBinder 接口新增 getBindInfo、findBindingRegister 兩組共計4個方法,現(xiàn)在 init 期間也可以查詢其他模塊注冊的 Bean 了。
05. BeanBuilder 接口增加 getBindInfo、findBindingRegister 兩組共計4個方法。其子類加以實現(xiàn)。
06. AppContext 的 getBindInfo、findBindingRegister 方法實現(xiàn)沉降到 BeanBuilder 實現(xiàn)類中。


改進

01. 升級依賴 slf4j-api 到 1.7.21 版本。
02. 刪除 ContextEvent_Initialized 事件,該事件等同于 Module 的 loadModule。
03. ContextShutdownListener、ContextStartListener兩個內(nèi)部接口提升為 Hasor Api接口。
04. findModules 過程提升到 doInitialized 之前。
05. 改進 BeanContainer 使其可以實時檢測 ApiBinder 使用期間出現(xiàn)的 id 沖突等問題。而不是等待 init 后期最統(tǒng)一檢測。


Hasor-Core v2.4.6 (2016-10-07)


新增

01. restful插件增加,json; 攔截。
02. WebEnvironment、WebAppContext可以被依賴注入了。
03. 所有接口類型參數(shù)傳入,都走 AppContext 獲取。
04. upload包變更。
05. 新增 WebAppContext.HTTP_BEFORE_REQUEST 和 WebAppContext.HTTP_AFTER_RESPONSE 事件。
06. 新增了 ScopeManager 接口用于優(yōu)化 Scope 的注冊。


改進

01. 改進 RenderData 接口使其更加人性化一點。
02. RenderData 的數(shù)據(jù)不在保存在自己獨立的 map 中而是共同 Request Attr。
03. @ValidBy 注解支持配置多個表單驗證器。


修復(fù)

01. fix restful插件,action方法中無法傳入 response 的問題。


Hasor-Core v2.4.5 (2016-09-29)


新增

01. BindInfo 新增 setMetaData 方法以設(shè)置元信息。
02. BindInfo 新增 removeMetaData 刪除元數(shù)據(jù)的方法。
03. BizCommon 包增加 log 工具。
04. Spring 集成插件,新增支持將 Spring 容器中的 屬性配置文件導入 Hasor 作為環(huán)境變量。
05. @InjectSettings 注解支持通過 "${xxx}" 形式解析并注入環(huán)境變量了(至此注入環(huán)境變量不再需要通過 hasor 配置文件中轉(zhuǎn))


改進

01. JSON 包簡化了對 Log 的輸出處理,減少了 5 個日志相關(guān)類。
02. Spring集成時,支持通過 Spring 方式來指定 Hasor 的配置文件。
03. Spring集成下,env.config 將會失效,環(huán)境配置屬性需要通過 Spring導入。
04. AbstractEnvironment 類的 afterInitEnvironment 方法取消參數(shù)傳入。
05. AbstractEnvironment 類的 initEnvironment 方法增加boolean參數(shù)來決定是否啟用 env.config 配置文件。
06. LinkedCaseInsensitiveMap類提升為公共工具類,包位置發(fā)生變更。


修復(fù)

01. Fix Settings 接口的 add & remove & set 系方法,解決 settings key 出現(xiàn)大小寫敏感問題。
02. Fix AbstractEnvironment 的 refreshVariables 方法,忽略了對默認值的替換,導致了bug出現(xiàn)。
03. Fix Environment 接口拼寫錯誤的方法名。remoteEnvVar -> removeEnvVar。


Hasor-Core v2.4.4 (2016-09-05)


新增

01. 寬泛的Servlet版本支持 servlet 2.3 到 servlet 3.1。
02. 新增支持文件上傳功能支持。
03. 新增 @Async 注解,用于標記 restful 請求是否以 異步 servlet 方式執(zhí)行。(需要容器支持 servlet 3 ,否則無效)
04. 如果容器支持 Servlet 3 那么 Hasor 會自動啟用 Servlet 3.0 特性。
05. servlet3: 基于 web-fragment 技術(shù),您的 web.xml 中不需要任何配置或者您干脆刪除 web.xml。
06. servlet3: 支持通過@Async注解開啟異步Servlet。
07. servlet3: 文件上傳共功能可以基于@Async轉(zhuǎn)為異步文件上傳(感謝:哎瑞!麓孩 提供的實現(xiàn)思路,這里是他的blog, http://ysj12.lofter.com/)。


改進

01. otg.more包瘦身前的一些調(diào)整。
02. WebController類中方法訪問修飾符調(diào)整。


Hasor-Core v2.4.3 (2016-08-18)


新增

01. 新增 Htmlspace工具類:StringEscapeUtils、EntitiesUtils。工具來源為:apache-common


改進

01. 改進啟動日志輸出。
02. WebController 增加一組 putData 方法用于輸出到渲染模版中。
03. JdbcOperations接口可以通過依賴注入被注入到 Service 中。
05. TransactionTemplateManager 代碼優(yōu)化,修復(fù)潛在的 npe 異常情況。
06. ValidErrors 接口繼承自 RenderData 獲取參數(shù)更加方便。
07. WebController 類重度優(yōu)化,刪除了一些重復(fù)的方法,增添表單驗證相關(guān)的方法。


Hasor-Core v2.4.2 (2016-08-04)


新增

01. Restful 框架整合 Validation 插件增加請求參數(shù) @Valid 驗證功能。
02. 注解 @Valid 支持場景化驗證。


改進

01. env.config 加載環(huán)境變量遇到名稱沖突時的,Bug。
02. DBModule 類,在聲明 Aop 類匹配的時候從任意類,改為需要標記 @Transactional 注解的類。


Hasor-Core v2.4.1 (2016-08-01)


改進

01. env.config 功能的優(yōu)化。


Hasor-Core v2.4.0 (2016-07-29)


新增

01. 新增 DecSpaceMap 可以將多個Map合并成一個Map對象給予操作,每個子map可以通過一個空間字符串進行標識。
02. AbstractSettings 類增加 resetValues 方法,可以通過 UpdateValue 接口更新載入的配置文件數(shù)據(jù),一個典型的應(yīng)用場景是模版化配置文件。
03. 支持配置文件模版化,通過模版化的配置文件。可以在不修改部署包的前提下,替換配置文件的值。使其可以方便的適用于各種環(huán)境,例如:日常、預(yù)發(fā)、線上、隔離。
04. 新增 @InjectSettings 注解,支持配置文件數(shù)據(jù)注入。
05. Restful、Template、mime 三個小插件整合到一起,提升為 webmvc 框架,編程接口依然以 Restful 為標準。
06. Render渲染器,支持多種,并通過viewType可以動態(tài)指定。
07. 依賴注入支持 WebAppContext、WebEnvironment 兩個接口的注入。


改進

01. 配置文件加載在原有xml格式下新增 "屬性類型" 文件的加載支持,屬性文件默認采用UTF-8編碼方式讀取。
02. Settings 接口的兩個 findClass 方法移動到 Environment 接口中 Settings的職責更佳明確,只負責配置文件相關(guān)的操作。
03. 刪除 AbstractMergeSettings 不在需要該類承擔數(shù)據(jù)的職責,Settings的數(shù)據(jù)承載交給 DecSpaceMap。
04. Settings 小范圍重構(gòu),內(nèi)部的數(shù)據(jù)管理更佳清晰。
05. StartupModule插件的類裝載,使用 Environment 接口提供的。
07. Resource 插件被拆分成兩個部分。web相關(guān)的部分降級到demo中,資源加載部分沉淀到 org.more 工具包。
08. Encoding 插件被降級成為 demo 的一部分。


Hasor-Core v2.3.3 (2016-06-16)


新增

01. 新增@ImplBy注解,用于方便接口注入。


Hasor-Core v2.3.2 (2016-05-29)


改進

01. 事件機制,callBack.handleComplete的調(diào)用實際改為,事件處理結(jié)束。
02. 一些方法的注釋進行更正。
03. 新增datachain工具,可以脫離Hasor使用:數(shù)據(jù)對象轉(zhuǎn)換工具,提供 A 類型對象到 B 類型對象轉(zhuǎn)換功能。并使開發(fā)者在轉(zhuǎn)換過程中可以實現(xiàn)更加高級別的控制協(xié)調(diào)能力。
04. Result增加一系列Message相關(guān)方法。
05. 插件智能載入。所有內(nèi)置插件,在初始化的時都做了配置檢查,只有用到了它們才會被加載到框架中。否則內(nèi)置插件在初始化期間就會放棄加載自己。


Hasor-Core v2.3.1 (2016-04-13)


修復(fù)

01. Fix :AbstractMergeSettings在刷新加載配置文件的時,因為map無序而導致。主配置文件被率先放入最終結(jié)果集中,正常的邏輯應(yīng)該是最后放入。


Hasor-Core v2.3.0 (2016-04-06)


新增

01. 新增“.hasor.default.asEagerSingleton”配置用來配置默認情況下,類型是以單例模式運行還是以原型方式運行。(默認單例模式)
02. ApiBinder接口新增“asEagerPrototype”方法用來強制以原型方式注冊。到目前為止可以選擇的方式有:“asEagerSingleton”、“asEagerPrototype”
03. 新增注解配置:@Singleton、@Prototype
04. 單例類如果配置了@Init注解,則在注冊到Hasor容器時,會在容器啟動的第一時間自動調(diào)用init方法以完成對象初始化功能。
    - 這個特性類似Spring配置文件中 init屬性的功能。
05. Hasor啟動類新增傳入File參數(shù)方式指定配置文件。


改進

01. 容器在啟動時增加EventContext類型的綁定,開發(fā)的時候可以直接通過依賴注入或者appContext.getInstance(EventContext.class)方式的到。
02. Event插件在接收到事件響應(yīng)時,需要一直等待AppContext對象被注入進來。原有邏輯是等待10秒注入AppContext對象。
03. 優(yōu)化EventModule啟動時間。
04. 事件處理線程命名。
05. 改進環(huán)境變量處理方式,凡是Hasor中定義的環(huán)境變量其優(yōu)先級都高于系統(tǒng)環(huán)境變量。這意味著,定義相同名稱的環(huán)境變量Hasor中配置會覆蓋系統(tǒng)的配置。


Hasor-Core v2.2.0 (2016-02-23)


新增 01.增加Event事件注冊插件,簡化事件的注冊機制。 02.Settings接口增加 addSetting方法和clearSetting方法用來增加和刪除配置項。 03.新增Spring插件,完美與Spring整合。同時支持與Spring的雙向事件通知。

    - 支持Hasor的Bean通過Spring獲取、支持SpringBean通過Hasor獲取。
    - 支持Hasor的事件,通過Spring方式接收、支持Spring的事件,通過Hasor方式接收。


改進 01.改進事物管理器的攔截器注冊機制,從攔截所有類改為只攔截標記了Transactional注解的方法。 02.ResourceModule插件的實現(xiàn)機制從 Servlet 改為Filter,當資源無法通過插件獲取時候,轉(zhuǎn)交給servlet容器。原有方案是直接拋除404。 03.RestfulModule插件的實現(xiàn)機制從 Servlet 改為Filter,可以通過WebController類中renderTo方法指定具體要渲染的模版,模版渲染更加靈活。 04.RestfulModule插件的實現(xiàn)機制從 Servlet 改為Filter,支持ContextMap中setViewName方法來指定渲染的模版。 05.環(huán)境變量,WOR_HOME 從 USER.DIR 更換到 USER.HOME。原因是,USER.DIR 工作目錄獲取并不是想象的那樣始終是在程序位置。 06.SaxXmlParser類優(yōu)化,在處理配置項沖突時,升級為保留全部配置。原有邏輯為合并覆蓋。

07.Event接口在傳入?yún)?shù)時不再使用“Object[]”方式,改為范型T,這樣做簡化了開發(fā)者在使用事件機制時各種類型轉(zhuǎn)換的麻煩,從而減少錯誤的概率。


Hasor-Core v2.1.0 (2016-01-17)


新增

01. 增加一個WebDemo示例工程。
02. 新增一個插件,簡化“modules.module”的配置。
03. 新增restful插件,做為hasor內(nèi)置Web開發(fā)插件。
04. 添加templates插件,該插件將提供模版渲染支持。


改進

01. 修改ShutdownHook鉤子。在start時注冊它、當shutdown時解除注冊。
02. 增加Environment接口的包裝器。
03. 為@Inject注解,增加Type枚舉。通過枚舉可以標識注入是:ByID 還是 ByName。
04. 剔除JSP自定義函數(shù)功能。
05. resource插件在,選擇緩存目錄時,如果連續(xù)失敗99999次。將會報一個錯誤,然后終止插件的啟動。
06. templates插件與resource插件,整合了mimetype插件功能。
07. Valid插件增加@ValidDefine注解方式定義驗證。


修復(fù)

01. Fix “Shutdown in progress”異常。
02. Fix Web模式下啟動空指針異常。
03. Fix @Inject 注解攜帶value參數(shù)時失效的問題。
04. Fix JdbcTemplate使用Result->Object映射時,最后一個參數(shù)應(yīng)設(shè)值丟失的問題。


Hasor-Core v2.0.0 (2015-11-27)


新增

01. 新增 @Inject、@Init 兩個注解以支持注解方式的自動注入。
02. 添加 ShutdownHook鉤子,當外部終止jvm的時候,Hasor可以引發(fā)shutdown過程。
03. 事務(wù)管理增加“TransactionTemplate”接口。
04. 啟動過程中增加了一些 log 的輸出。
05. 將jetty的JSON解析器代碼添加到Hasor工具代碼中,位于包“org.more.json”。
06. 新增WebApiBinderWrap類。
07. ASM包升級為5.0版本,原有的ASM組建在解析jdk1.8的類文件時會有異常。


改進

01. StandardEnvironment構(gòu)造方法改進。
02. StartModule接口更名為LifeModule,并新增了onStop方法。至此通過LifeModule接口可以得到模塊整個生命周期。
03. AbstractEnvironment類的initEnvironment方法增加Settings類型參數(shù)。createSettings方法不再屬于AbstractEnvironment的抽象方法。
04. StandardEnvironment類增加Settings類型參數(shù)的構(gòu)造方法。
05. MimeType接口增加getContent()方法。
06. 原有模塊在實現(xiàn) StartModule 接口時,如果是通過啟動參數(shù)或者配置方式的模塊,器onStart調(diào)用時間點在“ContextEvent_Started”事件之后。
    - 現(xiàn)改為引發(fā)“ContextEvent_Started”事件時。
07. MVC的插件分離成獨立插件。
08. db包“datasource”模塊重構(gòu)、簡化邏輯,它不再提供數(shù)據(jù)庫連接和當前線程的映射綁定。
09. 事務(wù)管理器模塊大量優(yōu)化,同時“Manager”更名為“TranManager”。可以更好的讓人理解。
10. 事務(wù)管理器負責提供數(shù)據(jù)庫連接與當前線程的綁定關(guān)系。
11. 刪除ResultModule類和其相關(guān)的功能,該功能不再是核心功能的一部分。
12. MVC框架被遷出 Hasor框架成為一個獨立的Web開發(fā)框架名為“haweb”。


修復(fù)

01. 大量優(yōu)化。。
02. Fix,classcode模塊對long、float、double基本類型錯誤處理的問題。
03. AbstractClassConfig增加對 java javax 包類的排除,凡是這兩個包的類都不進行aop。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號