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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring注解注入IOC

發布時間:2023/12/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring注解注入IOC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.創建Bean對象的注解

<1>配置自定義Bean對象注解

@Component、@Controller、@Service、@repository
用法:寫在類上,
例如:@Service 或者 @Service(“userService”)
作用:將該類交給Spring創建對象保存到Spring容器中,如果沒有指定名稱,類名首字母小寫就是默認名稱。

<2> 配置第三方Bean對象注解

@Bean
用法:寫在配置類方法上。
例如: @Bean 或者 @Bean(“dataSource”)
作用:將方法的返回值對象保存到Spring容器,如果沒有指定名稱,方法名首字母小寫就是默認名稱。

2.依賴注入的注解

<1>注入對象類型數據

@Autowired
用法:寫在成員變量/set方法/構造方法/方法參數列表中
作用:按照類型自動裝配對象,如果同類型對象有多個,默認按照變量名和Bean的名稱匹配,推薦使用@Qualifier指定要匹配的Bean的名稱。
@Qualifier(""):指定要匹配的Bean的名稱,要和@Autowired配合一起使用,不能單獨使用。
<2>注入普通類型數據

<2>注入普通類型數據

@Value(""):注入普通類型數據,支持EL表達式

3.-1-和-2-兩者代碼示例

import com.itheima.dao.UserDao; import com.itheima.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service;@Service("userService") public class UserServiceImpl implements UserService {@Value("20")private String num;@Autowired//本質是將容器中的對象直接賦值[前提:容器中要先添加該bean對象]//放到成員變量 底層:暴力反射//放到構造方法 可用//放到set方法 可用//方法參數列表中 可用@Qualifier("userDao")//當UserDao有兩個同類型的屬性,用此注解指定idprivate UserDao userDao;@Overridepublic void save() {System.out.println("UserServiceImpl save is running..."+num);userDao.save();} }

4.初始化和銷毀方法的注解

@Repository("userDao") public class UserDaoImpl implements UserDao {@Overridepublic void save() {System.out.println("dao中的save方法執行了...");}@PostConstruct//初始化方法注解public void init(){System.out.println("init初始化..........");}@PreDestroy//銷毀方法注解public void destroy(){System.out.println("destroy銷毀..........");} }

5.測試-3-和-4-實例測試類

@Testpublic void test1(){//需求:從spring容器中獲取userService對象,并調用save方法//1 創建spring容器對象ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");//2 從spring容器中獲取userService對象//UserService userService = (UserService) ac.getBean("userService");//UserService userService = ac.getBean(UserService.class);UserService userService = ac.getBean("userService", UserService.class);//3 調用save方法userService.save();}打印結果: ------------------------------------------------------- init初始化.......... UserServiceImpl save is running...20 dao中的save方法執行了...

注:由于destroy銷毀方法即執行方法時jvm已經關閉,所以未打印;需要打印則接收類要換成ClassPathXmlApplicationContext,使用里面的close()方法關閉

總結

以上是生活随笔為你收集整理的spring注解注入IOC的全部內容,希望文章能夠幫你解決所遇到的問題。

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