这篇文章主要为大家展示了如何使用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标记接口的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。