Spring容器外注入依赖

一、
spring配置文件如下:

<?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:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd">
   <context:spring-configured/>   
    <bean id="p" class="com.fwb.test2.People" abstract="true">
           <property name="body" ref="b"></property>
   </bean>
   <bean id="b" class="com.fwb.test2.Body">
         <property name="arm" value="2"></property>
         <property name="leg" value="2"></property>
   </bean>
</beans>

二、
Java类代码如下:
1   People
package com.fwb.test2;

import org.springframework.beans.factory.annotation.Configurable;

@Configurable("p")
public class People {
private Body body;

public Body getBody() {
return body;
}

public void setBody(Body body) {
this.body = body;
}
}


2 Body

package com.fwb.test2;

public class Body {
private int arm;
private int leg;

public int getArm() {
return arm;
}

@Override
public String toString() {
return "有" + arm + "个胳膊,有" + leg + "条腿";
}

public void setArm(int arm) {
this.arm = arm;
}

public int getLeg() {
return leg;
}

public void setLeg(int leg) {
this.leg = leg;
}
}

3 测试Main类
package com.fwb.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.fwb.test2.People;
public class MyTest {

public static void main(String[] args) {
ApplicationContext app=new ClassPathXmlApplicationContext("springContext.xml");
People p=new People();
System.out.println(p.getBody());
}
}

三、
   jvm启动参数
-javaagent:e:/lib/aspectjweaver.jar
   路径需要自己实际情况替换

四 最终结果
when weaving type org.springframework.beans.factory.wiring.BeanWiringInfo
when weaving classes
when weaving
[Xlint:cantFindType]
有2个胳膊,有2条腿

猜你喜欢

转载自fwb7014.iteye.com/blog/1535604