Spring筆記

Spring

对于开发者来说,开发者使用Spring框架所做的主要是两件事:1、开发Bean;2、配置bean。对于Spring框架来说,它要做的,就是根据配置文件来创建Bean实力,并调用Bean实例的方法完成“依赖注入”—这就是所谓的IoC的本质。这就要求开发者在使用Spring框架是,眼中看到的是“XML配置”,心中想的是“java代码”。后面学习时,要尽可能的理解“每段XML配置”在底层所对应的“java代码调用”。

问题:1、什么是Bean?什么是javabeen?(好好思考理解)

Spring的核心机制:IoC(控制反转)是Spring框架的核心。依赖注入(java应用大多数都是由一些互相协作的对象构成的,sprin把这种互相协作关系称为依赖关系,假如A组件调用了B组件的方法,我们称A组件依赖于B组件)

所谓的依赖注入,是指程序运行过程中,如果需要另一个对象协作(调用它的方法,访问它的属性时,无需再代码中创建被调用者,而是依赖外部容器的注入。Spring的依赖注入对调用者和被调用者机会没有任何要求,完成对POJO之间依赖关系的管理)

依赖注入通常有如下

1、设值注入:IoC容器使用属性的setter方法来注入被依赖实例。   2、构造注入:IoC容器使用构造器来注入被依赖实例。

理解implements和extends

implements一般是实现接口。
extends 是继承类。

接口一般是只有方法声明没有定义的,
那么java特别指出实现接口是有道理的,因为继承就有感觉是父类已经实现了方法,而接口恰恰是没有实现自己的方法,仅仅有声明,也就是一个方法头没有方法体。因此你可以理解成接口是子类实现其方法声明而不是继承其方法。
但是一般类的方法可以有方法体,那么叫继承比较合理。
引入包可以使用里面非接口的一切实现的类。那么是不是实现接口,这个你自己决定,如果想用到那么你不是实现,是不能调用这个接口的,因为接口就是个规范,是个没方法体的方法声明集合。我来举个例子吧:接口可以比作协议,比如我说 一个协议是“杀人”那么这个接口你可以用 砍刀去实现,至于怎么杀砍刀可以去实现,当然你也可以用抢来实现杀人接口,但是你不能用杀人接口去杀人,因为杀人接口只不过是个功能说明,是个协议,具体怎么干,还要看他的实现类。
那么一个包里面如果有接口,你可以不实现。这个不影响你使用其他类。

Spring整合Struts2

Spring提供了一个ContextLoaderListener,该监听器类实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查找WEB-INF/下的applicationContext.xml文件,因此,如果只有一个配置文件,并且文件名为applicationContext.xml,则只需在web.xml文件中增加如下配置便可。

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListene</listener-class>

</listener>

如果有多个配置文件需要载入,则考虑使用<context-param…>元素来确定配置文件名。ContextLoaderListener加载时,会查找名为contextCcofigLocation的初始化参数。因此,配置<context-param…/>是应指定参数名为contextConfigLoacation。

带多个配置文件的web.xml文件如下:

<?xml-app  xmls=”http//java.sun.com/xml/ns/javaee”

Xmls=”http://www.w3.org/2001/XMLSchema-instance”

Xsi:schemaLoaction=http://java.sun.com//xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app.xsd”version=”3.0”>

<!—指定多个配置文件-->

<context-param>

<!—参数名为ContextConfigLocation-->

<param-name>contextConfigLocation</param-name>

<!—多个配置文件之间以“,”隔开-->

<param-value>/WEB-INF/daoContext.xml,/WEB-INF/applicationContext.xml

</param-value>

<!—使用ConfigLoaderListener初始化Spring容器-->

时间: 2024-11-06 17:42:29

Spring筆記的相关文章

【讀書筆記】成为技术领导者

[讀書筆記]成为技术领导者 SkySeraph Jan. 27th  2016 Email:[email protected] 啰嗦 “成为技术领导者” 这本书,针对创业来说,是一本不错的参考书籍,详细讲解了领导方式模型,解决问题的领导方式,技术领导的成长和创新.组织和激励等等.个人觉得非常值得一读. 现将个人整理的笔记记录如下. 豆瓣读书: http://book.douban.com/subject/1132623/ 第一篇 定义 第二篇 创新 第三篇 激励 第四篇 组织 第五篇 转变 ==

[Apache] Apache 從 2.2 換至 2.4 httpd.conf 的調整筆記 (windows 環境)

原文地址: http://www.dotblogs.com.tw/maplenote/archive/2012/07/20/apache24_httpd_conf.aspx 整理一下 Windows 環境 從 Apache 2.2 改成 Apache 2.4.1 後 httpd.conf 的設定筆記及遇到的問題 若有興趣可以先看一下官方文件說明 2.4 的差異 ( 我當然是...沒有看完 Orz ) http://httpd.apache.org/docs/2.4/upgrading.html

Dependency Injection 筆記 (4)

續上集未完的相關設計模式... Composite 模式延續先前的電器比喻.現在,如果希望 UPS 不只接電腦,還要接電風扇.除濕機,可是 UPS 卻只有兩個電源輸出孔,怎麼辦? 我們可以買一條電源延長線,接在 UPS 上面.如此一來,電風扇.除濕機.和電腦便都可以同時插上延長線的插座了.這裡的電源延長線,即類似Composite Pattern(組合模式),因為電源延長線本身又可以再連接其他不同廠牌的延長線(這又是因為插座皆採用相同介面),如此不斷連接下去. 呃….延長線的比喻有個小問題:它在

Dependency Injection 筆記 (1)

<.NET 相依性注入>連載 (1) 本文從一個基本的問題開始,點出軟體需求變動的常態,以說明為什麼我們需要學習「相依性注入」(dependency injection:簡稱 DI)來改善設計的品質.接著以一個簡單的入門範例來比較沒有使用 DI 和改寫成 DI 版本之後的差異,並討論使用 DI 的時機.目的是讓讀者先對相關的基礎概念有個概括的理解,包括可維護性(maintainability).寬鬆耦合(loose coupling).控制反轉(inversion of control).動態

Dependency Injection 筆記 (2)

續上集,接著要說明如何運用 DI 來讓剛才的範例程式具備執行時期切換實作類別的能力. 入門範例—DI 版本 為了讓 AuthenticationService 類別能夠在執行時期才決定要使用 EmailService 還是 ShortMessageService 來發送驗證碼,我們必須對這些類別動點小手術,把它們之間原本緊密耦合的關係鬆開——或者說「解耦合」.有一個很有效的工具可以用來解耦合:介面(interface). 說得更明白些,原本 AuthenticationService 是相依於特

Python學習筆記 第一課 Basic Information of Python

因學校習作需要而研究Python 使用教材:Python3.4.1 Official Documentation - The Python Standard Library Chapter 1 Basic Information of Python 1) Nature of Python: a high-level, interpreted language 2) Aim of Python: to automate tasks on computers 3) Examples of usage

GeekBand c++學習筆記(friend的一點體悟)

HELLO,大家好,我是GeekBand的學員,在學習網課上,因為作業的關係,所以要向大家發表一下我在學習C++上的一些心得與筆記,可能寫得不太好,因為畢竟剛接觸程式語言才半年,所以大家若是有甚麼地方覺得錯誤或是解釋的不是很恰當,都可以跟我說,或是qq給我,我都可以跟大家討論關於電腦的事物 那我們就開始吧!這周的我想分享的是我對於類中friend(友元)的理解,那friend是什麼?friend就是可以調用在在類中的數據的函數,那類的特性是:封裝性與資訊隱藏,因而才會有public與privat

zabbix 監控mysql server (筆記)

安裝完zabbix後,默認的監控mysql模板是不能用的,即使添加上去了,也是顯示為紅色的unsupper,因此我們需要做一些配置.首先需要在想要監控的mysql server上新建授權用戶,讓zabbix_agent對數據庫有查詢,以及狀態監測等權限. mysql -uroot-p<PASS> -e "GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1' IDENTIFIEDBY 'zabbix'"; mysql -uroot-p<P

Dependency Injection 筆記 (3)

續上集.接著要來進一步了解的是 DI 的實作技術,也就是注入相依物件的方式.這裡介紹的相依性注入方式,又稱為「窮人的 DI」(poor man’s DI),因為這些用法都與特定 DI 工具無關,亦即不使用任何現成的 DI 框架(例如 Unity.Autofac).畢竟,DI 只是一組設計原則與模式,不依賴任何工具也能實現. 設計模式梗概 每個模式都描述了一個不斷發生在我們周遭的問題,然後描述該問題的核心解法,於是你便可以一再使用該解法,而無須對同樣的事情做兩次工.—— Christopher A