@Component,@Controller(控制层),@Service(业务层),@Repository(持久层)
以上四个注解功能完全相同,不过在实际开发当中,要在实现不同的类上加上相应的注解
完成组件化管理的过程:
1、在需要spring管理的类上加上相应的注解
2、在xml配置文件中通过context:component-scan对所设置的包结构进行扫描,就会将加上注解的类 作为spring的组件进行加载 (其中作为spring组件进行加载,会自动在spring的配置文件中生成相对应的bean标签,这些bean标签的id以类的首字母小写为值)
也可以使用@Controller(“beanId”)为所自动生成的bean指定标签id
自动装配:
在需要赋值的非字面量属性上加上@Autowired,就可以上spring容器中通过不同的方式匹配到相应的bean(其中@Autowired在自动装配时默认使用byType,此时要求spring容器中只有一个能为其赋值,当byType装配不了时,会自动切换到byName,此时要求spring容器中有一个bean的id和属性名相同)
若自动装配时,匹配到多个能赋值的bean,此时可以在@Autowired注解下添加注解@Qualifier(value=“beanName”)来指定所使用的bean
作用于方法“”
@Autowired和@Qualifier(value=“beanName”)可以作用于带形参的方法上,此时@Qualifier(value=“beanName”)所指定的bean作用于形参上。