Java框架 ------- spring 借助注解(autowired,resoutce,componet)
一、对注入对象的注解
1、在applicationContext.xml 中添加
<context:annotation-config/>
声明使用注解的方式进行配置
并在student 的bean 中将,引用的class 类注释掉,不在bean 中引用
这时在执行会报错找不到
要达到上述注释语句相同效果,
1、在student 的model类中使用 @Autowired 注解在 class 类变量或setter() 方法上声明
@Autowired :用于对 Bean 的属性变量、属性的 Set 方法及构造函数进行标注,配合对应的注解处理器完成 Bean 的自动配置工作。默认按照 Bean 的类型进行装配
2、@Resource其作用与 Autowired 一样。其区别在于 @Autowired 默认按照 Bean 类型装配,而 @Resource 默认按照 Bean 实例名称进行装配。
@Resource 中有两个重要属性:name 和 type。
Spring 将 name 属性解析为 Bean 实例名称,type 属性解析为 Bean 实例类型。如果指定 name 属性,则按实例名称进行装配;如果指定 type 属性,则按 Bean 类型进行装配。
如果都不指定,则先按 Bean 实例名称装配,如果不能匹配,则再按照 Bean 类型进行装配;如果都无法匹配,则抛出 NoSuchBeanDefinitionException 异常。
二、对Bean 的注解
1、在applicationContext.xml 中将bean 去掉只留下
<context:component-scan base-package="com.obge.model"/>
2、借助@Component 注解直接在实体类中进行声明该类为bean
@Component:可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次。使用时只需将该注解标注在相应类上即可。
运行测试