日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring入门-1-基本配置和IOC、DI

發布時間:2023/12/14 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring入门-1-基本配置和IOC、DI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需要引入的jar



spring-4.3.10: D:\spring-framework-4.3.10.RELEASE-dist\spring-framework-4.3.10.RELEASE\libs

commons-logging: D:\struts-2.5.10.1-all\struts-2.5.10.1\lib

JUnit 4:



IOC:

? ? ? ? 某一接口具體實現類的選擇控制權從調用類中移除,轉交給第三方決定。?

? ? ??? 因為IoC確實不夠開門見山,因此業界曾進行了廣泛的討論,最終軟件界的泰斗級人物Martin Fowler提出了DI(依賴注入:Dependency Injection)的概念用以代替IoC,即讓調用類對某一接口實現類的依賴關系由第三方(容器或協作類)注入,以移除調用類對某一接口實現類的依賴。“依賴注入”這個名詞顯然比“控制反轉”直接明了、易于理解。?

? ? ? ?

//Dependency Injection:DI:依賴注入:UserService的add()依賴于容器注入的DAO //Inverse of Control:IOC:控制反轉:(兩種解釋方法)1、初始化的控制從程序里面反轉到容器里面。2、控制具體實現反轉為控制抽象,即面向接口編程


? ? ? ?詳細可以參考:http://stamen.iteye.com/blog/1489223/


demo:

實體類:

package com.bjsxt.model;public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;} }
數據訪問類:

package com.bjsxt.dao; import com.bjsxt.model.User;public interface UserDAO {public void save(User user); }
package com.bjsxt.dao.impl;import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User;public class UserDAOImpl implements UserDAO {public void save(User user) {//Hibernate//JDBC//XML//NetWorkSystem.out.println("user saved!");}}

控制類:

package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User;public class UserService {private UserDAO userDAO; public void add(User user) {userDAO.save(user);}public UserDAO getUserDAO() {return userDAO;}public void setUserDAO(UserDAO userDAO) {this.userDAO = userDAO;} }


配置文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean><bean id="userService" class="com.bjsxt.service.UserService"><property name="userDAO" ref="u" /></bean> </beans>


測試類:
package com.bjsxt.service; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.context.ConfigurableApplicationContext;import com.bjsxt.model.User;//Dependency Injection:DI:依賴注入:UserService的add()依賴于容器注入的DAO //Inverse of Control:IOC:控制反轉:(兩種解釋方法)1、初始化的控制從程序里面反轉到容器里面。2、控制具體實現反轉為控制抽象,即面向接口編程 public class UserServiceTest {@Testpublic void testAdd() throws Exception {ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");UserService service = (UserService)ctx.getBean("userService");User u = new User();u.setUsername("zhangsan");u.setPassword("zhangsan");service.add(u);((ConfigurableApplicationContext)ctx).close();}}

?詳細可以參考:http://stamen.iteye.com/blog/1489223/或者《Spring 4.x企業應用開發實戰》的第3章

總結

以上是生活随笔為你收集整理的Spring入门-1-基本配置和IOC、DI的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。