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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring 三种注入方式

發(fā)布時間:2023/12/19 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 三种注入方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.設(shè)置注入

先寫demo代碼

Uer.java

public class User {private String username;private String password;public String getUsername(){return this.username;}public void setUsername(String name){this.username = name;}public String getPassword(){return this.password;}public void setPassword(String password){this.password = password;} }UserADO 接口:

public interface UerDAO{public void save(User user); }UserADOImpl類:

public class UserADOImpl implements UserADO {public void save(User user){System.out.println(user.getUsername() + user.getPassword());} }
ADO層是直接和DB打交道,這一層和mybatis或者h(yuǎn)ibernate結(jié)合;我們還要基于ADO創(chuàng)建service層。web工程中,一般分為ADO,service和web等,ADO負(fù)責(zé)數(shù)據(jù)的持久化,service負(fù)責(zé)業(yè)務(wù),web層負(fù)責(zé)UI視圖和用戶交互。

UserService接口:

public interface UserService {public void add(User user); }UserServiceImpl類

public class UserServiceImpl implements UserService {private UserDAO userDAO;public void add(User user){userDAO.save(user);}public UserDAO getUserDAO(){return this.userDAO}public void setUserDAO(UserDAO userDAO){this.userDAO = userDAO;}}

配置文件 beans.xml,注入方式關(guān)鍵是在配置文件中配置的!!!!!

<?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:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 注冊一個 UserDAOImpl 對象實例--><bean id="u" class="com.deciphering.dao.impl.UserDAOImpl"></bean><!-- 注冊一個 UserServiceImpl 對象實例--><bean id="userService" class="com.deciphering.dao.service.UserServiceImpl"><!-- 將UserDAOImpl u 對象實例 注入到 UserServiceImpl 中的userDAO --><property name="userDAO"><ref bean="u"></property></bean></beans>


創(chuàng)建測試Junit ?用例類 UserServiceTest:

public class UserServiceTest{@Testpublic void testAdd() throw Exception{ApplicationContext ctx =new ClassPathXmlApplicationContext("beans.xml");UserServiceImpl service = (UserServiceImpl) stx.getBean("userService");User u = new User();u.setUsername("測試用戶");u.setPassword("123456");service.add(u);}}
2.構(gòu)造方式 注入

修改UserServiceImpl.java ?增加構(gòu)造方法

public class UserServiceImpl implements UserService {private UserDAO userDAO;public UserServiceImpl(UserDAO userDAO){super();this.UserDAO = UserDAO;}public void add(User user){userDAO.save(user);}public UserDAO getUserDAO(){return this.userDAO}public void setUserDAO(UserDAO userDAO){this.userDAO = userDAO;} }
beans.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:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 注冊一個 UserDAOImpl 對象實例--><bean id="u" class="com.deciphering.dao.impl.UserDAOImpl"></bean><!-- 注冊一個 UserServiceImpl 對象實例--><bean id="userService" class="com.deciphering.dao.service.UserServiceImpl"><!-- 構(gòu)造方式 將UserDAOImpl u 對象實例 注入到 UserServiceImpl 中的userDAO --><constructor-arg><ref bean="u"></constructor-arg></bean></beans>
3.接口注入,我們需要特定的接口交給特定的類去注入,這種方式,帶來污染,不能完全解耦?,F(xiàn)在已被拋棄


總結(jié)

以上是生活随笔為你收集整理的Spring 三种注入方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。