如何使用Spring Aware标记接口
这篇文章主要为大家展示了如何使用Spring Aware标记接口,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
Aware接口是一个标记接口
XXXAare在Spring中表示对XXX可以感知,通俗点解释就是:如果在某个类里面想要使用Spring的一些东西,就可以通过实现XXXAware接口告诉Spring,Spring看到后就会送过来,而接受的方式是通过实现接口唯一的方法setXXX.比如ApplicationContextAware
ApplicationContextAware使用
编写SpringAware实现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); }
以上就是关于如何使用Spring Aware标记接口的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。