日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > 菜鳥學(xué)習(xí)Spring――第一個(gè)例子

菜鳥學(xué)習(xí)Spring――第一個(gè)例子

來源:程序員人生   發(fā)布時(shí)間:2014-10-08 08:00:00 閱讀次數(shù):2687次
一、概述
原來我們利用工廠來實(shí)現(xiàn)靈活的配置。現(xiàn)在利用Spring以后把這個(gè)交給了IoC容器管理。我們只要在XML文件上配上就可以了這樣的話就節(jié)省了很多開發(fā)時(shí)間我們不需要知道后面的有多少只要?jiǎng)討B(tài)的配上類就可以了下面就給大家做一個(gè)例子
二、代碼展示。

文件目錄如下圖:


需要引用的jar包:

spring.jar

Lib/log4j/log4j.jar

Lib/jakarta-commons/commons-logging.jar

需要引用的文件

Log4j.properties

下面是代碼:

UserDao.java

package com.bjpowernode.spring.dao; public interface UserDao { public void addUser(String userName,String password); }


UserDao4MySqlImpl.java

package com.bjpowernode.spring.dao; public class UserDao4MySqlImpl implements UserDao { public void addUser(String userName, String password) { // TODO Auto-generated method stub System.out.println("UserDao4MySqlImpl.addUser()"); } }


UserDao4OrcleImpl.java

package com.bjpowernode.spring.dao; public class UserDao4OrcleImpl implements UserDao { public void addUser(String userName, String password) { // TODO Auto-generated method stub System.out.println("UserDao4OrcleImpl.addUser()"); } }


UserManager.java

package com.bjpowernode.spring.manager; public interface UserManager { public void addUser(String userName,String password); }


UserManagerImpl.java

package com.bjpowernode.spring.manager; import com.bjpowernode.spring.dao.UserDao; public class UserManagerImpl implements UserManager{ private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } // public UserManagerImpl(UserDao userDao) { // // this.userDao = userDao; // } public void addUser(String userName, String password) { // TODO Auto-generated method stub // //由我們的應(yīng)用程序負(fù)責(zé)服務(wù)定位 // UserDao userDao=new UserDao4MySqlImpl(); userDao.addUser(userName, password); } }


Client.java

package com.bjpowernode.spring.client; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.bjpowernode.spring.dao.UserDao4MySqlImpl; import com.bjpowernode.spring.manager.UserManager; import com.bjpowernode.spring.manager.UserManagerImpl; public class Client { /** * @param args */ public static void main(String[] args) { BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager userManager=(UserManager) factory.getBean("userManager"); userManager.addUser("張三", "123"); // // TODO Auto-generated method stub // UserManager userManager=new UserManagerImpl(new UserDao4MySqlImpl()); // userManager.addUser("張三", "1231"); } }


applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="userDao4MySql" class="com.bjpowernode.spring.dao.UserDao4MySqlImpl"/> <bean id="userDao4Orcle" class="com.bjpowernode.spring.dao.UserDao4OrcleImpl"/> <bean id="userManager" class="com.bjpowernode.spring.manager.UserManagerImpl"> <!-- <constructor-arg ref="userDao4MySql" /> --> <property name="userDao" ref="userDao4MySql"/> </bean> </beans>


運(yùn)行結(jié)果:


三、比較
與原來用工廠寫的區(qū)別就在于UserManagerImpl.java和Client.java這兩個(gè)類的寫法不一樣原來這兩個(gè)類這樣寫
UserManagerImpl.java

package com.bjpowernode.spring.manager; import com.bjpowernode.spring.dao.UserDao; import com.bjpowernode.spring.dao.UserDao4MySqlImpl; public class UserManagerImpl implements UserManager{ public void addUser(String userName, String password) { // TODO Auto-generated method stub //由我們的應(yīng)用程序負(fù)責(zé)服務(wù)定位 UserDao userDao=new UserDao4MySqlImpl(); userDao.addUser(userName, password); } }


Client.java

package com.bjpowernode.spring.client; import com.bjpowernode.spring.manager.UserManager; import com.bjpowernode.spring.manager.UserManagerImpl; public class Client { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub UserManager userManager=new UserManagerImpl(); userManager.addUser("張三", "1231"); } }


四、總結(jié)

Spring給我們帶來了很大的便利這樣讓我們開發(fā)的時(shí)候?qū)ο笈c對(duì)象之間進(jìn)行了解耦。讓我們維護(hù)起來更加方便,當(dāng)需求修改的時(shí)候我們只要修改一下配置文件,添加對(duì)象就可以了不用修改寫好的代碼。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 黄网址在线观看 | 欧美日韩免费一区二区三区 | 伊人论坛 | 九九热在线免费观看 | 中文字幕精品一区 | 老妇毛片 | 国产激情在线 | 欧美精品久久久免费观看 | 国产在线观看一区二区三区 | 国产精品美女一区二区三区 | 欧美日韩亚洲综合 | 久久久久久久 | 成人黄色小视频 | 久久精品国产色蜜蜜麻豆 | 韩日精品一区二区 | 伊人五月 | 亚洲精品电影在线 | 9久久精品| 国产成人久久精品 | 黄视频在线观看网站 | 精品久久99| 不卡在线一区 | 精品成人一区二区三区 | 亚洲国产高清视频 | 免费一区二区 | 性天堂| 国产精品福利视频 | 中文字幕日韩欧美一区二区三区 | 国产精品一区二区三 | 最近中文字幕第一页 | 久久精品久久久久久 | 亚洲精品一区二区三区蜜桃久 | 欧美三极 | 日本久久免费 | 激情网五月天 | 成人免费激情视频 | 国产精品日韩在线观看 | 91精彩视频在线观看 | 98色花堂最新地址网址 | 欧美中文字幕一区二区三区亚洲 | 日韩精品免费在线视频 |