spring中常用的注解介绍
来源:互联网 发布:王中磊和女星 知乎 编辑:程序博客网 时间:2024/05/21 22:47
spring之前的版本用的是xml存储、交换数据,后来受Rails框架的启发,spring开始支持使用Annotation来代替xml文件
首先使用Spring注解,需要在配置文件中有如下配置:
<!-- 配置与注解有关的处理器 --> <context:annotation-config/> <!-- 扫描controller --> <context:component-scan base-package="com.xh.ssm.controller"/>
其中扫描器配置隐式的包含了注解处理器,所以就不用配置<context:annotation-config/>
注解其实本身并没有什么作用,根XML一样,只是进行一些配置,传递一些信息,重要的是背后的解析器,处理器!!!!
常用注解如下:
1.与搜索有关的注解:
Spring要求程序员显示指定搜索哪些路径下的Java类,然后符合条件的Java类注册到spring容器中,那么问题是:spring如何知道该把哪些类当成Bean类处理? 所以就用到了如下注解:
# @Component : 标注一个普通的spring bean类;
# @Controller: 标注一个控制器组件类;
# @Service: 标注一个业务逻辑组件类;
# @Repository : 标注一个Dao组件类;
然后需要在spring配置文件中配置搜索路径:
<!-- 自动扫描指定包以及其子包下的所有Bean类--><context:component-scan base-package="com.xh.ssm.service.impl"/>
** 默认情况下:扫描的Bean注册到spring容器,这些Bean实例的id默认是Bean类的首字母小写!!!
** 还可以通过为<context:comonent-scan />添加子元素 <include-filter /> 或者 <exclude-filter/>来指定springBean类,通过子元素属性
type指定过滤器类型;expression指定表达式;等等,这里不做详细介绍。
2.与作用域有关的注解:
使用XML配置来配置Bean实例时,可以指定作用域,也可以通过@Scope注解来指定;如果不指定默认为singleton。
//指定该Bean实例的作用域为prototype@Scope("prototype")//指定该类作为SpringBean,还可以指定id@Component("axe")public class SteelAxe implements Axe{}
3.与依赖有关的注解:
使用@Resource(name="xxx")注解来配置依赖,spring会将该注解的name属性值,解析为Bean的id,然后完成依赖注入。
可以标注在字段上,或者setter方法上;
@Resource:按照名称进行注入,如果不指定name值,默认是字段的名称,或者setter方法中属性名称;
@AutoWire:按照类型进行注入,
4.与Bean生命周期有关的注解:
@PostConstruct和@PreDestory,这两个注解用于定制Spring容器中Bean的生命周期行为。等同于 init-method,
destory-method两个属性;一个会在完成依赖注入后调用,一个会在Bean销毁前调用,还有Bean的后处理器,这里不做介绍。
这两个注解标注在方法上,指定该方法为初始化方法,或者销毁方法。
5.Spring3.0新增的注解:
@DependsOn和@Lazy,是spring3.0新增的注解:
@DependsOn:该注解是类级别的,可以指定一个String数组类型的值,表示在初始化该Bean之前,会强制初始化数组中的Bean。
@Lazy:该注解是类级别的,可以指定一个布尔值,表示是否要预初始化该Bean
//强制初始化数组中的Bean@DependsOn({"steelAxe", "xh"})//预初始化该Bean@Lazy(true)@Componentpublic class Chinese{}
0 0
- Spring中常用注解的介绍
- spring中常用的注解介绍
- 【Spring】--spring MVC中常用的注解
- hibernate 中常用的注解介绍
- Spring中常用的一些注解
- spring中annotation的常用注解
- Spring Boot中几个常用的注解
- Spring MVCzh中常用的注解
- Spring boot 中常用的注解
- Spring 中常用的几种注解
- spring 的(注解)介绍
- Spring常用的注解
- Spring的常用注解
- spring常用的注解
- Spring常用的注解
- spring的常用注解
- Spring MVC @Controller及相关常用注解的介绍
- Spring常用注解介绍【经典总结】
- 多个小数相乘后比较大小
- CXF使用教程(二)——webService自动生成客户端代码
- 每天一个 Linux 命令(12):more命令
- String的getBytes()方法
- 欢迎使用CSDN-markdown编辑器
- spring中常用的注解介绍
- PHP实现分页
- 基于IRIS(鸢尾花)数据集使用sklearn的特征工程练习
- minikube在mac单机上部署kubernetes沙箱环境
- Solidworks 如何在曲面添加文字
- IM即时通讯(三) 多客户端文本传输之聊天功能
- 使用Openlayer利用GeoServer编辑要素到postGIS注意问题(WFS-T)
- mybatis学习三 多级结果映射
- day05