最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SPRING管理XML方式過程解析

 更新時間:2019年10月22日 09:34:55   作者:FirmiAnA0  
這篇文章主要介紹了SPRING管理XML方式過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1.有三種實例化方式(無參構造,靜態(tài)工廠,實例工廠),最常用的還是無參構造的方式

2.bean標簽中常用的屬性

id/name:唯一標識名稱,兩者作用一樣,只是name中可以包含特殊字符

class:類的完全路徑名

scope:bean的作用域 singleton :單例 (默認) prototype:每getBean創(chuàng)建一個新的 (常用) request session (不常用)

一般都默認為singleton ,當整合struts2時,它的action是多例的,它要交給spring去管理,所以用多例

init-method:當bean被載入容器中時調(diào)用

destroy-method:當bean從容器中刪除時調(diào)用 (scope=prototype時有效)

(init-method和destroy-method在web容器中會自動調(diào)用,但是main函數(shù)或測試用例需要手動調(diào)用)

3.bean的生命周期

package com.pheony.demo2;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class Food implements BeanNameAware,ApplicationContextAware,InitializingBean,DisposableBean {

  public Food(){
    System.out.println("第一步,利用構造方法實例化啦");
  }

  private String name;    //食品名稱
  public void setName(String name) {
    System.out.println("第二步,設置屬性啦");
    this.name = name;
  }
  public String getName() {
    return name;
  }

  @Override
  public void setBeanName(String s) {
    System.out.println("第三步,設置bean的名稱啦");
  }

  @Override
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    System.out.println("第四步,了解工廠信息啦");
  }

  @Override
  public void afterPropertiesSet() throws Exception {
    System.out.println("第六步,屬性設置后啦");
  }

  public void setup(){
    System.out.println("第七步,初始化啦");
  }

  public void run(){
    System.out.println("第九步,執(zhí)行自身業(yè)務方法啦");
  }

  @Override
  public void destroy() throws Exception {
    System.out.println("第十步,執(zhí)行spring的銷毀方法啦");
  }

  public void setdown(){
    System.out.println("第十一步,執(zhí)行自身銷毀方法啦");
  }

}
package com.pheony.demo2;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

/**
 * 后處理bean,很關鍵,AOP就是利用這個實現(xiàn)的
 */
public class MyBeanPostProcessor implements BeanPostProcessor {
  @Override
  public Object postProcessBeforeInitialization(Object o, String s) throws BeansException {
    System.out.println("第五步,初始化前方法來啦");
    return o;
  }

  @Override
  public Object postProcessAfterInitialization(Object o, String s) throws BeansException {
    System.out.println("第八步,初始化后方法來啦");
    return o;
  }
}
<bean id="food" class="com.pheony.demo2.Food" scope="singleton" init-method="setup" destroy-method="setdown">
    <!--在實體類中屬性最好都加上set/get方法,DI根據(jù)set/get方法找到對應的屬性-->
    <property name="name" value="香蕉"></property>
  </bean>
  <bean class="com.pheony.demo2.MyBeanPostProcessor"></bean>
package com.pheony.demo2;

import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestFood {

  @Test
  public void test1(){
    ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    Food food = (Food)ac.getBean("food");

    food.run();

    ac.close();
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java中Servlet Cookie取不到值原因解決辦法

    java中Servlet Cookie取不到值原因解決辦法

    這篇文章主要介紹了java中Servlet Cookie取不到值原因解決辦法的相關資料,需要的朋友可以參考下
    2017-06-06
  • Java?Web項目中如何添加Tomcat的Servlet-api.jar包(基于IDEA)

    Java?Web項目中如何添加Tomcat的Servlet-api.jar包(基于IDEA)

    servlet-api.jar是在編寫servlet必須用到的jar包下面這篇文章主要給大家介紹了基于IDEAJava?Web項目中如何添加Tomcat的Servlet-api.jar包的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Java使用位運算實現(xiàn)加減乘除詳解

    Java使用位運算實現(xiàn)加減乘除詳解

    這篇文章主要為大家詳細介紹了Java如何使用位運算實現(xiàn)加減乘除,文中的示例代碼講解詳細,對我們深入了解Java有一定的幫助,感興趣的可以了解一下
    2023-05-05
  • Java 集合去重的三種方法

    Java 集合去重的三種方法

    本主要介紹了Java 集合去重的三種方法,包含HashSet,Stream API和手動遍歷并使用Map三種,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Java使用注解和反射簡化編程的方法示例

    Java使用注解和反射簡化編程的方法示例

    這篇文章主要介紹了Java使用注解和反射簡化編程的方法,結合實例形式分析了java使用注解和反射調(diào)用大量函數(shù)簡化編程的相關操作技巧,需要的朋友可以參考下
    2019-10-10
  • Java中的線程中斷機制和LockSupport詳解

    Java中的線程中斷機制和LockSupport詳解

    這篇文章主要介紹了Java中的線程中斷機制和LockSupport詳解,在Java中沒有辦法立即停止一條線程,然而停止線程卻顯得尤為重要,如取消一個耗時操作,因此,Java提供了一種用于停止線程的協(xié)商機制中斷,也即中斷標識協(xié)商機制,需要的朋友可以參考下
    2023-09-09
  • Spring Cloud如何使用Feign構造多參數(shù)的請求

    Spring Cloud如何使用Feign構造多參數(shù)的請求

    這篇文章主要介紹了Spring Cloud如何使用Feign構造多參數(shù)的請求,以GET以及POST方法的請求為例進行講解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • springboot集成redis之字典緩存詳解

    springboot集成redis之字典緩存詳解

    Redis的字典緩存是支撐其高性能的一個關鍵因素,它使得Redis能夠以極快的速度處理大量的數(shù)據(jù),這篇文章主要介紹了springboot集成redis之字典緩存,需要的朋友可以參考下
    2024-07-07
  • 基于傳遞list類型的參數(shù)的問題

    基于傳遞list類型的參數(shù)的問題

    這篇文章主要介紹了基于傳遞list類型的參數(shù)的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • dubbo將異常轉(zhuǎn)換成RuntimeException的原因分析?ExceptionFilter

    dubbo將異常轉(zhuǎn)換成RuntimeException的原因分析?ExceptionFilter

    這篇文章主要介紹了dubbo將異常轉(zhuǎn)換成RuntimeException的原因分析?ExceptionFilter問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論

樟树市| 韩城市| 全州县| 高雄县| 民勤县| 凤阳县| 湟中县| 兴文县| 大连市| 马边| 根河市| 德州市| 石楼县| 临猗县| 隆安县| 望城县| 射洪县| 元江| 辽宁省| 马鞍山市| 保定市| 胶州市| 沙坪坝区| 沐川县| 顺昌县| 延庆县| 绥棱县| 龙口市| 阿克陶县| 磴口县| 成都市| 璧山县| 任丘市| 威远县| 玉田县| 东海县| 潍坊市| 安顺市| 黄山市| 清原| 杭锦后旗|