一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: ak福利影院| 双性受合不垅腿攻np | 亚洲国产综合自在线另类 | 青涩体验在线观看未删减 | 日本黄色大片网站 | 亚洲天堂精品视频 | 日韩影院在线观看 | 国产成人免费片在线视频观看 | 亚洲精品国产A久久久久久 亚洲精品福利一区二区在线观看 | 香蕉成人999视频 | 男人j放进女人的p免费看视频 | hezyo加勒比一区二区三区 | 公共场合高h短篇 | 国产午夜免费视频 | 欧美精品国产一区二区三区 | 紧身裙女教师波多野结衣 | 日本免费久久久久久久网站 | bl文全肉高h湿被灌尿 | 国产成+人+综合+欧美 亚洲 | 91大片淫黄大片在线天堂 | 本站只有精品 | 欧美涩区 | 精油按摩日本 | 免费看h片的网站 | 欧美free激情野战hd | 国产第一福利视频导航在线 | 性欧美高清强烈性视频 | 大伊香蕉在线精品不卡视频 | 91制片厂果冻星空传媒3xg | 欧美色青 | 天美影视文化传媒mv免费 | 天天久久综合 | 羞羞答答免费人成黄页在线观看国产 | 亚洲精品资源 | 毛片视频网站在线观看 | 校园刺激全黄H全肉细节文 校草让我脱了内裤给全班看 | 91视频完整版| 韩国三级做爰 | 精品国产乱码久久久久久软件 | 操到翻白眼 | 欧美精品亚洲精品日韩专区va |