Ioc注解
bean组件版型:四个组件的功能是相同的,知识用于标注不同类型的组件
@Component泛指组件,当组件不好归类时,可以用这个注解进行标注
@Repository用于标注数据访问组件,即DAO组件
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的Action,SpringMVC的Controller)
此时需要配置IoC注解的解析器:
使用<context:component-scan base-package="" />表示去哪些包中去扫描组件注解
作用域注解:
@Scope("")
初始化和销毁注解:
@PostConstruct用于贴在初始化方法上
@PreDestroy用于贴在销毁方法上
DI注解
Autowired注解和Qualifier注解:
Spring规范提供
1.可以让Spring自动的把属性需要的对象找出来,并注入到对象
2.可以贴在字段或者setter方法上面
3.可以同时注入多个对象
4.可以注意一些Spring内置的重要对象
5.默认情况下Autowired注解必须要能找到对应的对象,否则报错.
通过required=false来避免这个问题:@Autowired(required=false)
6.注解解析器,在Spring3.0之前,需要手动配置Autowired注解的解析程序.
<context:annotation-config />
7.Autowired注解寻找bean的方式:
1) 首先按照依赖对象的类型找,如果找到,就是用setter方法或者字段直接注入;
2) 如果Spring上下文中找到多个匹配的类型,在按照名字去找,如果没有匹配报错
3) 可以通过@Qualifier("other")标签来规定依赖对象按照bean的id和类型组合方式去找
Resource注解
JavaEE规范提供,效果和Autowired一样
Value注解
Autowired和Resource注解用于注入对象,Value注解用于注入常量数据
@Value("")