//Autowired的required默认为ture,如果定义为false,则该属性可以为空
//false 可以为空 null
//未定义(true) 不能为空
//如果@Autowired自动装配的环境比较复杂,无法通过一个注解【@Autowired】来完成的时候
//可以使用@Qualifier(value = "xxx")去配合@Autowired指定一个唯一的bean对象
//@Resource也可以完成自动装配里面也有(name = "xxx")属性
//@Resource和@Autowired的区别:
//1. 都是自动装配的,都可以放在属性字段上
//2. @Autowired默认通过byType的方式实现,如果存在多个相同的类型,再通过baName实现
//3. @Resource默认通过byName的方式实现,如果找不到名字,则通过byType实现
//等价于 <bean id="user" class="com.gmy.pojo.User"></bean>
//@Component 组件
@Component
public class User {
//等价于 <property name="name" value="欧子玲"></property>
@Value("欧子玲")
public String name;
public void setName(String name) {
this.name = name;
}
}
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!-- 指定要扫描的包,这个包下的注解会使用-->
<context:component-scan base-package="com.gmy.pojo"/>
<!-- 注解驱动-->
<context:annotation-config/>
</beans>