使用注解的步骤: 1.加入maven依赖 spring-context,在你加入spring-context的同时,间接加入spring-aop的依赖,使用注解必须使用spring-aop的依赖 2.在类中加入spring的注解(多个不同功能的注解) 3.在spring的配置文件中,加入一个组件扫描器标签,说明注解在你项目中的位置
1)@Component @Component 作用:用于创建对象,等同于的id功能,属性value 是对象的名称,等于的id,value是唯一的。位置在类的上面。 @Respotory,@Service,@Controller与其功能一样,分别位于dao层,service层,web层 在配置文件中通过component-scan来扫描配置文件
<context:component-scan base-package=“com.vrv.paw.dao” />
其中的package属性后面接我们要扫描的文件或包的完整地址。如果是文件,会扫描整个文件,根据里面的注解符号位置,自动创建对象。如果是包,会扫描包里的所有文件,根据里面的注解符号位置,自动创建对象。
最后创建测试类,读取配置文件,使用已创建好的对象的方法 2.通过注解给属性赋值 @value 表示简单类型的属性值 在属性定义的上面,无需set方法,推荐使用 2.在set方法上 同样通过配置文件的component-scan读取赋值
引用类型类型 @Autowire Springs框架提供的注解,实现引用类型的注解,支持byname,bytype,默认使用bytype自动注入。 bytype三种类型:同类、父子类、接口与实现类 //位置,属性定义上面,无需set推荐使用 //2.在set方法上面 当我们用bytype自动注入的时候,可能会出现有同种的多个类。这时spring容器会不知道要给谁注值,就比如说一个接口的两个实现类。此时要用到标签@Qualifier 用法:@Qualifier(value = “类名”)
引用类型除了@Autowire,还能用@Resource给引用类型赋值。@Autowire是spring的注解。@Resource是jdk的注解。使用的也是自动注入的原理 位置: 1.在属性定义上面,无需set方法,推荐使用 2.在set方法的上面 语法: @Resource(name = “类名”)
默认使用byname,如果找不到,使用bytype.如果只想使用resource的byname方式,需要增加一个name属性,name的值是bean的id
|