spring的注解
1.开启注解扫描配置 (spring.xml)
<!--开启注解扫描-->
<context:component-sacn base-package="com"/>
2.相关注解
spring自2.5版本以后提供了一些注解用来在使用spring时进行快速开发
1.@Component(value=“xxxx”)
修饰范围:类
注解作用:通用创建实例的注解,用来创建当前这个类的实例
vlaue属性:用来指定创建对象在工厂中的唯一标识,如果不指定工厂中的标识为类名首字母小写
2. @Repository
修饰范围: 类
注解作用: @component的子类注解专用于DAO组件的创建,通常加在DAO组件上
value属性: 用来指定创建的对象在工厂中的唯一标识 如果不指定默认创建对象在工厂中的标识为类名首字母小写
3. @Service
修饰范围: 类
注解作用: @component的子类注解专用于Service组件的创建,通常加在Service组件上
value属性: 用来指定创建的对象在工厂中的唯一标识 如果不指定默认创建对象在工厂中的标识为类名首字母小写
4. @Controller
修饰范围: 类
注解作用: @component的子类注解专用于Action组件的创建,通常加在Action组件上
value属性: 用来指定创建的对象在工厂中的唯一标识 如果不指定默认创建对象在工厂中的标识为类名首字母小写
控制对象创建次数的注解
1.@Scope(value=“singleton | protope”)
修饰范围:类
注解作用:用来控制这个实例在工厂中的创建次数
value属性:singleton为单例,prototype 为多例 默认单例
4.注入相关注解
1.@Autowired(spring提供)
修饰范围:成员变量或者成员变量的get/set方法上
注解作用:用来给类中的成员变量赋值
注入原则:默认根据类型自动注入
2.@Resource(JavaEE提供)
修饰范围:成员变量或者成员变量的get/set方法上
注解作用:用来给类中的成员变量赋值
注入原则:根据名称自动注入,名称找不到根据类型自动注入
5.控制事务的相关注解
1.@Transactional
修饰范围:用在类上主要用在业务层组件类上或者方法上
注解作用:用来给类中方法注入事务,当类上和方法上同时存在该注解,方法上优先(局部优先)
注解属性:propagation 控制传播属性
isolation 控制隔离级别
timeout 设置超时性
rollback-for 设置异常回滚
norollback-for 设置异常不会回滚
readonly 设置事务读写性
<!--如果要使用事务注解在配置文件中必须开启事务注解生效加入如下配置-->
<!--开启注解式事务生效-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>