本文主要是介绍Spring -> IOCxml使用注解的方式注入属性(@Autowired,@Quolifier,@Value),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="test10month.test1012"/>
</beans>
2.类
interface AttributeSpringInterface {/*** 接口*/void testinterface();
}@Component("attributeSpring")
class AttributeSpring implements AttributeSpringInterface {@Overridepublic void testinterface() {System.out.println("属性注入测试1");}
}@Component("attributeSpring2")
class AttributeSpring2 implements AttributeSpringInterface {@Overridepublic void testinterface() {System.out.println("属性注入测试2");}
}
@Component
class AttributeSpringClass {/*** 功能描述:* Autowired:根据属性类型自动装配* Qualifier:根据属性名称注入 似乎不能单独使用Qualifier,要使用也要与Autowired一起使用* 当有接口多个实现类的时候,不能仅仅通过Autowired自动装配,会识别不了准确的名称* 就需要使用Qualifier去指定类名称(首字母小写)* 方法参数描述:无*/@Autowired@Qualifier(value = "attributeSpring")private AttributeSpringInterface attributeSpringInterface;/*** Value:注入string时使用*/@Value("这是string")private String string;public void rod() {System.out.println("这是rod");System.out.println(string);attributeSpringInterface.testinterface();}
}
3.测试类
package test10month.test1012;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;/*** 功能描述:* @version 1.0* @className AttributeSpringTest* @author: 罗德* @create: 2020-10-12 20:12*/
public class AttributeSpringTest {public static void main(String[] args) {var context = new ClassPathXmlApplicationContext("test10month/test1012/AttributeSpring.xml");var attributeSpringClass = context.getBean("attributeSpringClass", AttributeSpringClass.class);attributeSpringClass.rod();/*** 这是rod* 这是string* 属性注入测试1*/}
}
这篇关于Spring -> IOCxml使用注解的方式注入属性(@Autowired,@Quolifier,@Value)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!