1.概念:
@Autowired 是 Spring 提供的注解,默认的注入方式为 byType (按类型自动注入);@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作;通过 @Autowired的使用来消除 set ,get方法。
2.注入数据的注解:
@Value
含义:通过set方式注入基本类型与String,set方法可以省略
语法:@Value("数据")/@Value("${key}")
位置:修饰属性,set方法
注意:如果动态获取必须指定加载资源文件 <context:property-placeholder location="classpath:msg.properties"> </context:property-placeholder>
@Autowired
替换:autowire属性,自动装配(按照类型装配,通过set方法,且方法可以省略)
位置:修饰属性,set方法
语法:@Autowired(required="true")
注意:1.如果容器中没有一个可以与之匹配且required属性为true则会报异常
NoSuchBeanDefinitionException
2.如果容器中有多个可以类型可以与之匹配,则自动切换为按照名称装配
3.如果名称也没有匹配,则报异常NoUniqueBeanDefinitionException
3.@Autowired注解是如何实现的:
@Autowired注解在spring源代码里的定义:
package org.springframework.beans.factory.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lan