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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring JSR-250 注释

發布時間:2023/12/3 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring JSR-250 注释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??Spring JSR-250 注釋

Spring JSR-250 注釋

Spring還使用基于 JSR-250 注釋,它包括 @PostConstruct, @PreDestroy 和 @Resource 注釋。因為你已經有了其他的選擇,盡管這些注釋并不是真正所需要的,但是關于它們仍然讓我給出一個簡短的介紹。

@PostConstruct 和 @PreDestroy 注釋:

為了定義一個 bean 的安裝和卸載,我們使用?init-method?和/或?destroy-method?參數簡單的聲明一下?。init-method 屬性指定了一個方法,該方法在 bean 的實例化階段會立即被調用。同樣地,destroy-method 指定了一個方法,該方法只在一個 bean 從容器中刪除之前被調用。

你可以使用?@PostConstruct?注釋作為初始化回調函數的一個替代,@PreDestroy?注釋作為銷毀回調函數的一個替代,其解釋如下示例所示。

示例

讓我們使 Eclipse IDE 處于工作狀態,請按照下列步驟創建一個 Spring 應用程序:

步驟描述
1創建一個名為?SpringExample?的項目,并且在所創建項目的?src?文件夾下創建一個名為?com.tutorialspoint?的包。
2使用?Add External JARs?選項添加所需的 Spring 庫文件,就如在?Spring Hello World Example?章節中解釋的那樣。
3在?com.tutorialspoint?包下創建 Java 類?HelloWorld?和?MainApp。
4在?src?文件夾下創建 Beans 配置文件?Beans.xml。
5最后一步是創建所有 Java 文件和 Bean 配置文件的內容,并且按如下解釋的那樣運行應用程序。

這里是?HelloWorld.java?文件的內容:

package com.tutorialspoint; import javax.annotation.*; public class HelloWorld {private String message;public void setMessage(String message){this.message = message;}public String getMessage(){System.out.println("Your Message : " + message);return message;}@PostConstructpublic void init(){System.out.println("Bean is going through init.");}@PreDestroypublic void destroy(){System.out.println("Bean will destroy now.");} }

下面是?MainApp.java?文件的內容。這里你需要注冊一個關閉鉤?registerShutdownHook()?方法,該方法在 AbstractApplicationContext 類中被聲明。這將確保一個完美的關閉并調用相關的銷毀方法。

package com.tutorialspoint; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp {public static void main(String[] args) {AbstractApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");HelloWorld obj = (HelloWorld) context.getBean("helloWorld");obj.getMessage();context.registerShutdownHook();} }

下面是配置文件?Beans.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"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><context:annotation-config/><bean id="helloWorld" class="com.tutorialspoint.HelloWorld"init-method="init" destroy-method="destroy"><property name="message" value="Hello World!"/></bean></beans>

一旦你在源文件和 bean 配置文件中完成了上面兩處改變,讓我們運行一下應用程序。如果你的應用程序一切都正常的話,這將會輸出以下消息:

Bean is going through init. Your Message : Hello World! Bean will destroy now.

@Resource 注釋:

你可以在字段中或者 setter 方法中使用?@Resource?注釋,它和在 Java EE 5 中的運作是一樣的。@Resource 注釋使用一個 ‘name’ 屬性,該屬性以一個 bean 名稱的形式被注入。你可以說,它遵循?by-name?自動連接語義,如下面的示例所示:

package com.tutorialspoint; import javax.annotation.Resource; public class TextEditor {private SpellChecker spellChecker;@Resource(name= "spellChecker")public void setSpellChecker( SpellChecker spellChecker ){this.spellChecker = spellChecker;}public SpellChecker getSpellChecker(){return spellChecker;}public void spellCheck(){spellChecker.checkSpelling();} }

如果沒有明確地指定一個 ‘name’,默認名稱源于字段名或者 setter 方法。在字段的情況下,它使用的是字段名;在一個 setter 方法情況下,它使用的是 bean 屬性名稱。

總結

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

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