Spring Aware標(biāo)記接口使用案例解析
Aware接口是一個(gè)標(biāo)記接口
XXXAare在Spring中表示對(duì)XXX可以感知,通俗點(diǎn)解釋就是:如果在某個(gè)類(lèi)里面想要使用Spring的一些東西,就可以通過(guò)實(shí)現(xiàn)XXXAware接口告訴Spring,Spring看到后就會(huì)送過(guò)來(lái),而接受的方式是通過(guò)實(shí)現(xiàn)接口唯一的方法setXXX.比如ApplicationContextAware
ApplicationContextAware使用
編寫(xiě)SpringAware實(shí)現(xiàn)ApplicationContext接口
package com.rookie.bigdata.aware;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;/** * @author rookie * @version 1.0 * @date 2020/3/21 22:58 */public class SpringAware implements ApplicationContextAware { private ApplicationContext applicationContext; //Spring容器會(huì)將ApplicationContext對(duì)象傳入過(guò)來(lái) @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { System.out.println('傳入的IOC容器applicationContext = [' + applicationContext + ']'); this.applicationContext = applicationContext; } public ApplicationContext getApplicationContext() { return applicationContext; }}
User實(shí)體類(lèi)
package com.rookie.bigdata.domain;public class User { private String username; private String address; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}
spring-aware.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:aop='http://www.springframework.org/schema/aop' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:context='http://www.springframework.org/schema/context' xsi:schemaLocation=' http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd'> <bean class='com.rookie.bigdata.domain.User'> <property name='username' value='張三'></property> <property name='address' value='北京'></property> </bean> <bean class='com.rookie.bigdata.aware.SpringAware'></bean></beans>
測(cè)試類(lèi)
@Test public void test1(){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext('/aware/spring-aware.xml');// User user = (User) applicationContext.getBean('user');// System.out.println(user); SpringAware springAware = (SpringAware) applicationContext.getBean('springAware'); ApplicationContext applicationContext1 = springAware.getApplicationContext(); User user = (User) applicationContext1.getBean('user'); System.out.println(user); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP驗(yàn)證碼工具-Securimage2. 一文帶你徹底理解Java序列化和反序列化3. 關(guān)于IDEA 2020.3 多窗口視圖丟失的問(wèn)題4. JS實(shí)現(xiàn)前端動(dòng)態(tài)分頁(yè)碼代碼實(shí)例5. javascript實(shí)現(xiàn)貪吃蛇小練習(xí)6. 用Spring JMS使異步消息變得簡(jiǎn)單7. js實(shí)現(xiàn)碰撞檢測(cè)8. Python 制作查詢(xún)商品歷史價(jià)格的小工具9. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條10. Python 下載Bing壁紙的示例

網(wǎng)公網(wǎng)安備