1、注入类
替换:<bean id="" class=""></bean>
位置:类
语法:@Component
eg:Class User{}
<bean id="user" class="com.apesource.包.User"></bean>
|| 等价于||
@Component
Class User{}
语法:@Component(value="注入容器中的id,如果省略id为类 名且首字母小写,value属性名称可以")
<context:component-scan base-package=""></context:component-scan>功能一致
含义:扫描所有被@Component注解所修饰的类,注入容器
@Repository====>注入数据访问层
@Service=======>注入业务层
@Controller======>注入控制成
以上三个注解与@Component功能语法一致
2、注入基本数据
@Value
含义:注入基本数据
替换:<property></property>
修饰:成员变量或对应的set方法
语法:@Value("数据内容")
@Value("${动态获取}")
<context:property-placeholder localtion="classpath:jdbc.properties"></context:property-placeholder>
@Autowired
语法:@Autowired(required="true-默认、false、是否必须进行装配")
修饰:成员变量或对应的构造方法
含义:按照通过set方法进行“类型装配”,set方法可以省略
注意:1、默认是按照类型装配且同set方法
2、若容器中有一个类型可以与之匹配则装配成功,若没有一个类型可以匹配则报错NoSuchBeanDefinitionException
3、若容器中有多个类型可以与之匹配,则自动切换为按照名称装配,若名称没有相对应的,则报错NoUniqueBeanDefinitionException
3、其他注解
@Primary
含义:首选项,当类型冲突的情况下,此注解修饰的类被列为首选(备胎扶正)
修饰:类
注意:不能单独使用,必须与@Component......联合使用
@Qualifier(value="名称")
含义:按照名称装配
修饰:成员变量
注意:不能单独使用,必须与@Autowired联合使用
@Resource(name="名称")
含义:按照名称装配
修饰:成员变量
注意:单独使用
@Scope
含义:配置类的作用域
修饰:类
注意:不能单独使用,必须与@Component......联合使用
@Scope("prototype")=======>单列
@Scope("singlrton")=======>单列
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@Scope(ConfigurableBeanFactory.SCOPE_SINGIRTON)
@PostConstruct:初始化,修饰方法
@PreDestory:销毁,修饰方法
标签:装配,Spring,含义,Component,注解,修饰,Scope,注入 From: https://blog.csdn.net/weixin_65829479/article/details/141033947