先上一段簡單示例
公共類myTemplate {private DataSource DataSource; public DataSource getDataSource(){返回dataSource; } public void setDataSource(dataSource dataSource){this.datasource = dataSource; } public void insert(String sql)拋出SQLEXCEPTION {Connection conn = this.datasource.getConnection();語句stmt = conn.CreateStatement(); stmt.executeupdate(sql); stmt.close(); conn.close(); }}}道
公共類Persondao擴展了myTemplate {public void saveperson()拋出異常{this.insert(“插入人(pid,pname)值(3,'aaa')”); }}}春天
<! - 引入屬性配置文件-> <bean> <propert name =“ locations”> <value> classPath:jdbc.properties </value> </bortial> </belt> </bean> </bean> <bean id =“ dataSource” dataSource“ destaSource” destion-method =“ clote> <property”> <propent值=“ $ {jdbc.url}” /> <屬性名稱=“用戶名” value =“ $ {jdbc.username}” /> <property name =“ password” value =“ $ {jdbc.password}” /> < /> < /> < /> < /> < /bean> < /bean> <bean id =“ mytemplate”> <! </property> </bean> <bean id =“ persondao”> <property name =“ dataSource”> <ref bean =“ dataSource”/> </property> </bean> </bean> </beans>測試類
public Class persondaotest {@test public void testpersondao()拋出異常{applicationContext context = new ClassPathxmlapplicationContext(“ cn/qjc/jdbc/applicationcontext.xml”); persondao persondao =(persondao)context.getBean(“ persondao”); persondao.saveperson(); }}}以上代碼將datasource注入給myTemplate,再把datasource注入給persondao,因為persondao繼承mytemplate,所以擁有dataSource屬性。既然persondao persondao繼承mytemplate,所以persondao類註入可以改為
<bean id =“ persondao” parent =“ mytemplate”> </bean>
以上例子中mytemplate類似於設計模式中的模板模式也叫模板方法模式,模板方法模式是所有模式中最為常見的幾個模式之一,是基於繼承的代碼復用的基本技術。 ,是基於繼承的代碼復用的基本技術。
模板模式=靜態代碼+動態變量
在春天中動態變量可以用注入的形式給予。這樣的編程方式適合包裝成模板。靜態代碼構成了模板,而動態變量則是需要傳入的參數。 ,而動態變量則是需要傳入的參數。
春季與jdbc結合核心類jdbctemplate
(1 、基於模板的設置(為什麼可以設置成基於模板的形式)
2 、完成了資源的創建和釋放的工作
3、簡化為我們對JDBC的操作
4 、完成了對 jdbc的核心流程的工作,包括sql語句的創建和執行
5 、僅需要傳遞數據源就可以把它實例化
6,jdbctemplate只需要創建一次
7,jdbctemplate是線程安全類
使用春季+jdbc 修改上面例子((mytemplate)(MyTemplate))
公共類Persondao擴展了JDBCDAOSUPPORT {public void SavePerson(string sql){this.getJdbCtemplate()。 execute(sql); }}}春天
<bean id =“ persondao”> <property name =“ dataSource”> <ref bean =“ dataSource”/> </proterty> </bean> </bean>
jdbctemplate類結構圖
執行過程
說明:
1 、執行數據的操作的是 jdbctemplate
2、最根本的步驟就是要把數據源注入到jdbctemplate
3 、通過給 jdbctemplate注入數據源
A 、採用構造器的形式註入
b 、採用二階
4 、可以給 jdbcdaosupport注入dataSource
5 、可以給 jdbcdaosupport注入jdbctemplate
所以春季與jdbc整合有三種方法,但實際上核心類為jdbctemplate
1 、使用 jdbctemplate
在dao類中,用jdbctemplate作為屬性,spring對jdbctemplate進行注入。再對jdbctemplate進行datasource注入。
注:為什麼只要對jdbctemplate注入datasource 就可以了?
2 、繼承 jdbcdaosupport
在dao類中,繼承jdbcdaosupport。因為jdbcdaosupport已經有了jdbctemplate的引用,所以只要繼承jdbcdaosupport就相當於有了
3 、繼承 jdbctemplate
春季還提供了其他還提供了其他,完全可直接套用。 ,完全可直接套用。
春季+冬眠
春季+JDO
spring ioc和di的強大,ioc和di完成了從接口到類的對應。利用spring容器程序員很容易的在客戶端實現面向接口編程,而且很容易給接口裝配,結構也可以設置的很靈活。因為接口是自己寫的,類也是自己寫的,配置文件也是自己寫的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。 ,也希望大家多多支持武林網。