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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

javascript

Spring Annotation(@Autowire、@Qualifier)

發(fā)布時(shí)間:2024/8/26 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Annotation(@Autowire、@Qualifier) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Spring Annotation(@Autowire、@Qualifier) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans 3 xmlns="http://www.springframework.org/schema/beans" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 6 xmlns:p="http://www.springframework.org/schema/p" 7 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> 8 9 <context:annotation-config /> 10 <bean id="userDao" class="com.bxw.dao.impl.UserDaoImpl" /> 11 <bean id="userService" class="com.bxw.service.UserService" lazy-init="true" scope="singleton" init-method="init" destroy-method="destroy"/> 12 13 </beans> applicationContext.xml

xmlns(xml命名空間):其實(shí)就是指定該xml的格式,能夠用哪些標(biāo)簽。

需要添加xmlns:context="http://www.springframework.org/schema/context"

和xsi:schemaLocation中添加

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"

?

applicationContext.xml需要添加<context:annotation-config />,這會(huì)初始化4個(gè)用來(lái)處理一些注解的bean

?

1 package com.bxw.service; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.beans.factory.annotation.Qualifier; 5 6 import com.bxw.dao.UserDao; 7 import com.bxw.dao.impl.UserDaoImpl; 8 import com.bxw.po.User; 9 10 public class UserService { 11 private UserDao userDao = new UserDaoImpl(); 12 13 public void init() { 14 System.out.println("init..."); 15 } 16 17 public UserDao getUserDao() { 18 return userDao; 19 } 20 21 @Autowired 22 public void setUserDao(@Qualifier("userDao") UserDao userDao) { 23 this.userDao = userDao; 24 } 25 26 public void add(User u){ 27 this.userDao.save(u); 28 } 29 30 public void destroy() { 31 System.out.println("destroy..."); 32 } 33 34 } UserService.java

@Autowire一般注解在set方法上,會(huì)采用bytype的方式注入(雖然它可以注解在各種方法甚至是成員變量上,但不常用)

采用bytype方式注入會(huì)發(fā)生一些問(wèn)題,例如如果配置了名字(id)不同但class相同的兩個(gè)bean,這個(gè)時(shí)候?qū)?huì)報(bào)錯(cuò),采用@Qualifier解決。

@Qualifier可以在bean中進(jìn)行配置,如果沒(méi)有配置的且指定了該bean的id,則id值即為qualifier的默認(rèn)值。(這也解釋了UserService.java中為什么是@Qualifier("userDao")).

posted on 2017-05-17 23:10 popcorn丫 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/popcornya/p/6870058.html

總結(jié)

以上是生活随笔為你收集整理的Spring Annotation(@Autowire、@Qualifier)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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