国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java JSP開發之Spring中Bean的使用

java JSP開發之Spring中Bean的使用

2020-12-11 14:52Dantes-Tang Java教程

這篇文章主要介紹了java JSP開發之Spring中Bean的使用的相關資料,在Spring中,bean的生命周期就比較復雜,這里就詳細介紹下,需要的朋友可以參考下

java JSP開發之SpringBean的使用

在傳統的Java應用中,bean的生命周期很簡單。使用Java關鍵字new進行bean實例化,然后bean就可以被使用了,一旦該bean不再使用,Java就自動進行垃圾回收。然而,在Spring中,bean的生命周期就比較復雜了。下面是一個bean裝載到Spring應用上下文的過程:

java JSP開發之Spring中Bean的使用

  如圖所示:在你準備調用bean之前,bean工廠執行了若干啟動步驟:

      1.Spring對bean進行實例化;

      2.Spring將值和bean的引用注入到bean對應的屬性中;

      3.如果bean實現了BeanNameAware接口,Spring將bean的ID傳遞給setBean-Name()方法;

      4.如果bean實現了BeanFactoryAware接口,Spring將調用setBeanFactory()方法,將BeanFactory容器實例傳入;

      5.如果bean實現了ApplicationContextAware接口,Spring將調用setApplicationContext()方法,將bean所在的應用上下文的引用傳入進來;

      6.如果bean實現了BeanPostProcessor接口,Spring將調用它們的post-ProcessBeforeInitialization()方法;

      7.如果bean實現了InitializingBean接口,Spring將調用它們的after-PropertiesSet()方法。類似地,如果bean使用initmethod聲明了初始化方法,該方法也會被調用;

      8.如果bean實現了BeanPostProcessor接口,Spring將調用它們的post-ProcessAfterInitialization()方法;

      9.此時,bean已經準備就緒,可以被應用程序使用了,它們將一直駐留在應用上下文中,直到該應用上下文被銷毀;

      10.如果bean實現了DisposableBean接口,Spring將調用它的destroy()接口方法。同樣,如果bean使用destroy-method聲明了銷毀方法,該方法也會被調用。

一,創建可以被發現的Bean

  在廚師的眼中,一套好的刀是必不可少的,它能夠將平淡的食物素材加工成精致的藝術品。

?
1
2
3
4
5
6
package cooking;
 
public interface knife{
 
  void cut();
}

  現在,我們創建一個名為knife(刀)的接口,它擁有cut(切)的功能。接下來我們實現這個接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package cooking
 
  @Component
public class beef implements knife{
 
 private int weight = 2;
 private double price = 32.1;
 
 public void cut(){
  System.out.println(“This is perfect beef”,+“weight:”+weight
+“kg”+“,”+“It's price is”+price+"$");
  }   
}

  請注意,我們在beef類上使用了@Component注解。這個簡單的注解表明 該類是一個組件類,并告訴Spring要為這個類創建bean。

  在默認情況下,組件掃描是不啟用的,我們需要顯示配置一下Spring,命令Spring去尋找帶有@Component注解的類,并為其創建bean

?
1
2
3
4
5
6
7
8
package cooking
 
@Configuration
@ComponentScan
public class knifeConfig{
 
  
}

  注意到,在knifeConfig類上加上了@ComponentScan注解,該注解能夠在Spring中開啟組件掃描,如果沒有其他配置的話,@ComponentScan默認會掃描與配置類相同的包,去查找帶有@Component的注解類,并在Spring中自動為其創建一個bean。如果你更傾向于使用XML來啟用組件掃描的話,那么可以使用Spring context命名空間的<context:component-scan>元素。

<context:component-scan base-package="cooking"/> 該標簽會開啟組件掃描,去cooking包下尋找帶有@Component的注解類。

以上就是Spring中Bean的使用方法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://www.cnblogs.com/Dantes-Tang/p/7289362.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线视频播放 | 久久小草 | 精品久久99 | 国产中文视频 | 日韩视频区 | 亚洲一区二区三区在线播放 | 国产精品美女久久久久久久久久久 | 日韩精品极品视频在线观看免费 | 99久久久精品国产一区二区 | 国产福利在线观看 | 久久久久成人精品 | 国产成人网| 午夜av影院 | 久久久久久久国产精品 | 久久久精品久久久久 | 亚洲成人精品一区 | 国产美女精品人人做人人爽 | 狠狠躁夜夜躁人人爽天天天天97 | 四虎影视永久免费观看 | 欧美一区二区免费 | 久久亚| 91视频久久 | 精品免费国产一区二区三区四区 | 免费在线观看一区二区三区 | 国产一区二区在线免费 | 精品久久久久久久久久 | 99riav在线 | 国产黄色小视频 | 成人免费视频网站在线观看 | 久久精品夜夜夜夜夜久久 | 欧美视频免费 | 久久久成人免费 | 91久久综合 | 亚洲激情一区二区三区 | 精品久久中文字幕 | 欧美大片免费在线观看 | 久草网站 | 欧美成人精品一区二区三区 | 国产日韩精品在线观看 | 日韩三区 | 91久久国产综合久久91精品网站 |