Spring Aware标记接口使用案例解析

网友投稿 296 2022-12-08


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(StringYJqIIIpTV username) {

this.username = username;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

}

spring-aware.xml

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:aop="http://springframework.org/schema/aop"

xmlns:tx="http://springframework.org/schema/tx" xmlns:context="http://springframework.org/schema/context"

xsi:schemaLocation="

http://springframework.org/schema/beans

http:http:////springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/tx

http:// http://springframework.org/schema/tx/spring-tx.xsd

http://springframework.org/schema/aop

http://springframework.org/schema/aop/spring-aop.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context.xsd">

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:aop="http://springframework.org/schema/aop"

xmlns:tx="http://springframework.org/schema/tx" xmlns:context="http://springframework.org/schema/context"

xsi:schemaLocation="

http://springframework.org/schema/beans

http:http:////springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/tx

http:// http://springframework.org/schema/tx/spring-tx.xsd

http://springframework.org/schema/aop

http://springframework.org/schema/aop/spring-aop.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context.xsd">

测试类

@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");

SysYJqIIIpTVtem.out.println(user);

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring整合Quartz开发代码实例
下一篇:Java构建高效结果缓存方法示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~