欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring依赖注入(手动装配注解方式注入)

程序员文章站 2022-05-23 21:47:36
...

手动装配注解方式注入

一、导入jar包spring-aop.jar

二、在applicationContext.xml中修改声明头信息,同时开启注解配置功能

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:context="http://www.springframework.org/schema/context"
	   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-4.1.xsd
	                       http://www.springframework.org/schema/context
	                       http://www.springframework.org/schema/context/spring-context-4.1.xsd">
	                       
	                       
	 <bean id="userDao" class="spring.UserDaoImpl"></bean>
	 <bean id="userDao2" class="spring.UserDaoImpl"></bean>
	 
	 <bean id="userName" class="java.lang.String">
	 	<constructor-arg value="张三"></constructor-arg>
	 
	 </bean>
	 <!-- 手动配置-->
	<bean id="userService" class="spring.UserService"></bean>
	
	<!-- 1. 开启手动装配的注解功能 -->
	<context:annotation-config/>              
</beans>

三、我们配置的bean中使用注解进行装配

package spring;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class UserService {

	@Autowired @Qualifier("userDao2") //默认根据属性的类型去匹配,如果对应的类型出现多个子类根据名称去匹配,我们可以加一个@Qualifier根据名称去匹配
	private IUserDao userDao;
	@Resource(name="userName")//是@Autowired @Qualifier的结合版本,直接根据名字去匹配
	private String userName;
	
	
	public void findUsers()
	{
		System.out.println("username:" + userName);
	    userDao.selectUser();
	}
}

相关标签: Spring框架