Spring Aware標記接口使用案例解析
Aware接口是一個標記接口
XXXAare在Spring中表示對XXX可以感知,通俗點解釋就是:如果在某個類里面想要使用Spring的一些東西,就可以通過實現(xiàn)XXXAware接口告訴Spring,Spring看到后就會送過來,而接受的方式是通過實現(xiàn)接口唯一的方法setXXX.比如ApplicationContextAware
ApplicationContextAware使用
編寫SpringAware實現(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容器會將ApplicationContext對象傳入過來 @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { System.out.println("傳入的IOC容器applicationContext = [" + applicationContext + "]"); this.applicationContext = applicationContext; } public ApplicationContext getApplicationContext() { return applicationContext; } }
User實體類
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 id="user" class="com.rookie.bigdata.domain.User"> <property name="username" value="張三"></property> <property name="address" value="北京"></property> </bean> <bean id="springAware" class="com.rookie.bigdata.aware.SpringAware"></bean> </beans>
測試類
@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); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot?AOP?Redis實現(xiàn)延時雙刪功能實戰(zhàn)
本文主要介紹了SpringBoot?AOP?Redis實現(xiàn)延時雙刪功能實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08解決springboot自定義注解AOP在controller上導致controller注入失敗問題
這篇文章主要介紹了解決springboot自定義注解AOP在controller上導致controller注入失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Data Source與數(shù)據(jù)庫連接池簡介(JDBC簡介)
DataSource是作為DriverManager的替代品而推出的,DataSource 對象是獲取連接的首選方法,這篇文章主要介紹了Data Source與數(shù)據(jù)庫連接池簡介(JDBC簡介),需要的朋友可以參考下2022-11-11spring?cloud?gateway中配置uri三種方式
gateway?組件是SpringCloud?組件中的網(wǎng)關組件,主要是解決路由轉發(fā)的問題,跟nginx有點類似,區(qū)別是nginx多用在前端上,gateway用在后端上,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-08-08