Annotation注解
1.类 2.属性 3.方法 4.参数 5.代码上面
1.注解当作注释使用 仅仅是一个文字的说明
2.编译代码时检测 override service
3.执行方法时保存内容
Java中提供了三个可用注解 public @interface Override
@Deprecated
@Override
@SuppressWarnings
@SuppressWarnings(“unused”)---------变量未被使用
@SuppressWarnings(“rawtypes”)-------定义时缺少泛型
@SuppressWarnings(“serial”)-----------类实现了序列化接口 缺少ID
@SuppressWarnings(“deprecation”)—用到已废弃的方法/属性
@SuppressWarnings(“unchecked”)-----泛型不做检测
@SuppressWarnings(“all”)
元注解
用来修饰注解
@Target-------表示当前修饰的注解可以写在什么位置
都需要通过ElementType枚举来调用
TYPE METHOD FIELD
@Retention---表示注解存在的作用域
都需要通过一个枚举类型来调用RetentionPolicy
源文件中SOURCE------编译过程存在 编译后没有
字节码中ClASS----------编译后在形成的class文件中存在
虚拟机中RUNTIME----运行时虚拟机中也存在
@Document---表示注解是一个文档形式----类似于注释
@Inherited-----继承
Attribute—属性
自定义注解
@interface
1.自定义注解时需要创建一个接口类 接口名字添加@
2.需要用元注解对自己定义的注解进行说明
1.@Target(属性名=属性值)
若属性名为value时可以省略属性名
若参数类型是数组类型 数组的长度若为一个 可以省略{}
2.Retention
3.自定义注解类型中可以存在静态常量(通常不会)
4.定义一个结构 写法类似于方法 用法类似于属性
定义时类型只能是以下几种
1.基本数据类型 2.String 3.Class 4.Annotation 5.enum 6.数组
5.获取注解中传递的信息需要反射
Spring注解
1.spring核心配置文件中添加xsd头信息(xsd文件之前添加版本号 导入本地资源路径)
beans aop tx context mvc
2.spring核心文件中开启一个 注解编程的配置
<context:compenent-scan base-package=“action,service,dao,domain”>
3.将以前spring核心文件中管理的所有bean 修改为类中的注解配置
@Compenent 组件 万能注解(不推荐使用)
@Controller @Service @Repository(value=“”)
上述三个注解用来替代以前spring的IOC
4.若想要产生属性自动装配的效果(DI)
@Autowired 属性上面 属性对应的set方法之(推荐写法) byName byType
@Qualifier(name=“”) 微调整
@Resource(“”) 与Autowired作用类型 (不太推荐使用 不是spring核心提供的注解)
5.产生事务的操作 也可以用注解代替
配置事务的管理者 管理规则 切入点 service..(…) @Transactional
使用注解实现IOC DI AOP
使用spring注解 需要在核心配置文件中用context:设置:
引入前缀xsd规则
设置如下标签 开启注解 告知spring去扫描哪些包中的类
<context:component-scan base-package=“action,service,dao,包名” >
尽量避免扫描到引入的jar文件
注解
IOC注解 万能注解
@Component 表示作用的类交给spring 管理
@Component(“name”) 没有传递默认就是类名首字母小写
spring又提供了其他三个注解 来代替上面的注解
使得类的管理表现的更加细致
@Controler
@Service
@Repository仓库 存储室
DI注解
@Autowire 自动装配 需要注入的属性或set方法上使用即可
会自动匹配 byType/byName
@Qualifier("name") 限定的 若出现两个匹配对象可以通过name做微调
@Resource(name="") @Resource(type=xxx.class)
事务注解
需要先开启注解<tx:annotation>
@Transactional
可以作用在类上 也可以作用在方法上
通过为注解传参来设置隔离级别 传播性 回滚条件