本节主要介绍了以下内容:
1 aware介绍
2 代码演练
3 课程总结
1 aware介绍
2 代码演练
2.1 applicationContextAware(获取applicationContext)
2.2 beanNameAware(获取xml配置中的beanname)
实体类:
package com.imooc.aware; import org.springframework.beans.factory.BeanNameAware; public class MoocBeanName implements BeanNameAware{ @Override public void setBeanName(String arg0) { // TODO Auto-generated method stub System.out.println("beanName为"+arg0); } }
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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="moocBeanName" class="com.imooc.aware.MoocBeanName"></bean> </beans>
测试类:
package com.imooc.test.aware; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.BlockJUnit4ClassRunner; import com.imooc.test.base.UnitTestBase; @RunWith(BlockJUnit4ClassRunner.class) public class TestAware extends UnitTestBase{ public TestAware() { super("classpath:spring-aware.xml"); } //测试BeanNameAware @Test public void testMoocBeanName(){ } }
打印结果:
二月 27, 2019 7:17:55 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2e9a6f43: startup date [Wed Feb 27 07:17:55 CST 2019]; root of context hierarchy 二月 27, 2019 7:17:55 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [spring-aware.xml] beanName==moocBeanName 二月 27, 2019 7:17:56 上午 org.springframework.context.support.ClassPathXmlApplicationContext doClose 信息: Closing org.springframework.context.support.ClassPathXmlApplicationContext@2e9a6f43: startup date [Wed Feb 27 07:17:55 CST 2019]; root of context hierarchy
2.3 对比
3 课程总结