spring配置檔案中bean標籤中init-method和destroy-method和用註解方式配置
Person類
public class Person {
private int i = 0;
public Person(){
System.out.println("例項化一個物件");
}
public void init(){
System.out.println("呼叫初始化方法....");
}
public void destory222(){
System.out.println("呼叫銷燬化方法....");
}
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 配置初始化方法和銷燬方法,但是如果要銷燬方法生效scope="singleton" --> <bean id="person" class="com.xxc.initAndDestory.domain.Person" scope="singleton" lazy-init="false" init-method="init" destroy-method="destory"></bean> </beans>
測試類:
public class Test { public static void main(String[] args) { //如果要呼叫銷燬方法必須用子類來宣告,而不是ApplicationContext,因為ApplicationContext沒有close() ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("com/xxc/initAndDestory/applicationContext.xml"); Person p1 = (Person)ac.getBean("person"); Person p2 = (Person)ac.getBean("person"); ac.close(); } }
如果用註解方式配置:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config/> <!-- scope預設是 prototype:getBean()一次建立一個例項--> <bean id="person" class="com.xxc.initAndDestory.domain.Person"></bean> </beans>
Person類
public class Person {
private int i = 0;
public Person(){
System.out.println("例項化一個物件");
}
@PostConstruct //初始化方法的註解方式 等同與init-method=init
public void init(){
System.out.println("呼叫初始化方法....");
}
@PreDestroy //銷燬方法的註解方式 等同於destory-method=destory222
public void destory(){
System.out.println("呼叫銷燬化方法....");
}
}
相關推薦
spring配置檔案中bean標籤中init-method和destroy-method和用註解方式配置
Person類 public class Person { private int i = 0; public Person(){ System.out.println("例項化一個物件"
SpirngMVC AOP 用註解方式配置切面及IllegalArgumentException: error at ::0 formal unbound in pointcut 異常分析
ppi point exc sig 配方 mea oca 代碼 ger MEAVN代碼 <!-- springAOP核心包 --> <dependency> <groupId>org.springframework<
Spring中註解注入bean和配置檔案注入bean
註解的方式確實比手動寫xml檔案注入要方便快捷很多,省去了很多不必要的時間去寫xml檔案 按以往要注入bean的時候,需要去配置一個xml,當然也可以直接掃描包體,用xml注入bean有以下方法: 1 <?xml version="1.0" encoding="UTF-8"?> 2
Spring中bean標籤的屬性和值:
Spring中bean標籤的屬性和值: <bean name="user" class="com.pojo.User" init-method="intMethod" destroy-method="destoryMethod" lazy-init="false" scope="sing
selenium 整合 spring 使用maven 將配置檔案打包到jar中
<build> <defaultGoal>compile</defaultGoal> <resources> <resource> <directory>src/main/j
Mybatis配置檔案中mapper標籤中namespace屬性作用小結
這幾天試著搭建了SpringMVC、Spring和Mybatis的環境,深有感觸,尤其是對面向介面程式設計有了更加深層次的體會。 尤其是在持久層框架Mybatis,以前不管是Dao層還是Servi
修改apache配置檔案去除thinkphp url中的index.php
例如你的原路徑是 http://localhost/test/index.php/index/add 那麼現在的地址是 http://localhost/test/index/add 如何去掉index.php呢? 1、httpd.conf配置檔案中載入了mod_rewrite.so模組&n
Java font.properties 配置檔案(中文/翻譯中。。。)
The Java 2 platform defines five logical font names that every implementation must support: Serif, SansSerif, Monospaced, Dialog, and Dial
讀取Spring配置檔案獲取bean的幾種情況
情況一:spring的配置檔案applicationContext.xml在src路徑下(配置檔案放在class目錄下:) 直接使用 ApplicationContext applicationCo
VUE——在配置檔案config/index.js中配置統一請求介面
在配置檔案config/index.js找到 module.exports={ dev:{ proxyTable:{} } } 更改為: proxyTable:{ "/api":
在編寫Spring框架的配置檔案時,標籤無提示符的解決辦法
問題描述 初學者在學習Spring框架的過程中,大概會碰到這樣一個問題:在編寫Spring框架的配置檔案時,標籤無提示符。本文就來解決掉這種問題。 問題原因 由於Spring的schema檔案位於網路上,如果機器不能連線到網路,那麼在編寫配置資訊時候就
Spring——定義Bean init Method與destroy Method的三種方式
轉載自塗宗勳的部落格 在spring的實際開發過程中,我們可能常常需要使用到init method和destroy method,比如初始化一個物件(bean)後立即初始化(載入)一些資料,在銷燬一個物件之前進行垃圾回收等等。 根據特意的去了解後,發現實際上可以有三種方式來實現init
Mybatis中if標籤中的整型判斷問題
用mybatis進行資料修改的時候,age屬性沒有賦值,但是我使用update的時候age這個屬性也被修改了。age屬性是一個int型別。 <set> &
Mybatis之mapper配置檔案之方法標籤的引數獲取
Mybatis框架中,Mapper檔案引數獲取一般有以下幾種: 1、引數個數為1個(string或者int) dao層方法為以下兩種: /** * 單個int型 */ public List<UserComment&g
mybatis的mapper.xml中select標籤中的parameterType屬性
SqlSession的selectList()與selcetOne()的第二個引數和selectMap()的第三個引數都表示方法的引數 程式碼如下 Flower flower = session.selectOne("com.bjsxt.mapper.Flowe
vue中一個標籤中含有多個class(其中包含三元表示式)的寫法
1、陣列形式 <div :class='["classify",current=="0" ? "active" : ""]' @click='current=0'>課程</div> 注意:陣列中的classify如果不加引號的話,代表的是data中的一項,並不是類名
html中for屬性的作用 -------- for屬性一般出現在html中的標籤中
for 使用者表單的標籤上,屬性值為需要關聯的輸入框id。 <input text="radio" name="gender" id="gender_1" value="男" /><label for="gender_1">男</label> <input
DOM與jQuery中img標籤中的src
今天,在做一個驗證碼的時候,出現了一個問題。 驗證碼:<input type="text" name="icode"><a href="javascript:voi
爬蟲技術 -- 進階學習(十一)【補充】獲取html中meta標籤中的content的內容
但是meta標籤中的content內容的抓取,沒有提及到! 上網搜尋了下,發現很少提及,所以寫篇隨筆,備忘一下! 還是在HtmlAgillityPack搭配ScrapySharp的環境下,具體如何配置點選上一篇連結。 例子:<meta name="keywords" content="召開新聞
視訊網站中video標籤中的視訊資源以blob:http呈現的探索
一、問題場景 想下載知乎視訊資源,卻發現視訊連結是這個樣子的blob:https://v.vzuu.com/b6146956-6e52-406d-8909-f3f1b81ae461當時一臉懵比啊 ~難道blob:https是什麼牛逼的新協議?於是進行了一番探索二、探尋結