文章目录
xml开启注解
范围:指定的包内所有的类,包括子包。
<context:component-scan base-package="base.demo1"/>
注解:创建对象
@Component
用途:创建bean
位置:类上
bean的名称:
- 默认全类名,首字母小写 student
- 指定,比如 @Component(“s1”)
@Repository,@Service,@Controller
与@Component完全一致,区分不同的功能,dao,service,controller。
注解:注入属性
@Value(“xxx”)
用途:基本类型赋值
位置:属性上
特点:不需要对应的setXXX方法
@Autowired
用途:引用类型的自动注入。
位置:属性上
注入方式:
- 默认byType
- 指定bean名称:
@Autowired
@Qualifier("xxx")
找不到怎么办:
- 默认报错
- 找不到也没关系,赋值null:
@Autowired(required = false)
@Resource
与@Autowired用途一致,更简洁。
注入方式:
- 默认byName,找不到会尝试byType
- 指定bean名称:
@Resource(name = "userService")