spring之注解(一)概述

Spring的核心是依赖注入(DI),而依赖注入的基础是依赖信息的配置。这些配置称之为元数据。

在之前的的学习中。一直採用的是基于xml的配置,这些元数据配置在spring内部被注冊成为BeanDefinition,spring以此为模版创建bean和注入依赖。

从spring 2.0開始,spring依次增加了对注解型元数据配置的支持。自此我们有了第二种配置bean的方式。Spring包括非常多种注解,如我们比較熟悉的@AutoWired、@Compoent,另一些不太熟悉的如@Inject @Improt等。

分类

Spring包括了如此多的注解。致使刚開始学习的人对之望而生畏。对当中一些也比較模糊。因此能够对Spring的注解进行分类。

Spring的xml元数据配置的核心是bean定义、属性及其依赖的配置,因此也能够从这个角度对spring注解进行分为下面。首先见下图:

本篇先对这些注解做一下简单的梳理,然后在兴许的文章中,针对后三种做较为具体的说明。

类别概述

以下略微具体的进行说明下各个类别,并列举出大部分Spring支持的注解。

容器级别

容器级别指的是注解用来配置Spring容器的,相应于SpringXML配置文件,如

@Configuration作用在class上,其内能够定义非常多Bean

@Import引入其它Configuration

@ComponentScan  自己主动扫描Bean组件配置,和Configuration配合使用

Bean级别

Bean级别指的是被注解标记的对象(类或者方法),会向Spring容器注冊一个BeanDefinition,Spring以此创建Bean实例。

@component   它和其它被其注解的注解 如@Service等作用于一个class上。 能够定义一个bean

@Named 和以上类似,来自JSR-330

@Bean  和@Configuration 或者@component 配合使用

Bean属性级别

此类别指的是作用于bean的属性。如是否延迟载入,Scope等。

@Qualifier  常和@autowired

@Lazy 延迟载入

@Scope 定义bean的Scope

@Required 能够标注在Set方法上,说明此方法须要被运行,否则跑出异常,长和@autowired 配合使用

@PostConstruct [email protected] 来自于JSR,作用于生命周期

依赖级别

Spring能够使用这些注解进行依赖注入,一般是自己主动的,或者借助一些辅助信息。

@autowired自己主动依赖注入,有几种方式,byType,byName等,通常和@ Qualifier配合使用

@Inject  来自JSR-330,和以上类似。JSR-330相关注解

@Resource和以上类似,JSR-250相关注解

@Value  原始类型注入

总结

以上简单的说明了下Spring支持的注解和其主要的作用,但到眼下为止都是纸上谈兵。可是对Spring注解建立整体的印象还是比較重要的。须要注意的是,Spring注解和 XML配置是相辅相成的,各自有优缺点,在实际应用中要依据实际情况来决定。下篇将具体的讲述本篇讲述的内容。

时间: 2024-10-18 20:31:16

spring之注解(一)概述的相关文章

Spring MVC注解配置结合Hibernate的入门教程及其代码实例

原文:Spring MVC注解配置结合Hibernate的入门教程及其代码实例 源代码下载地址:http://www.zuidaima.com/share/1787210045197312.htm 1.概述 本文旨在搭建Spring MVC+Hibernate开发框架,通过一个简单的demo讲解Spring MVC的相关配置文件,以及通过注解方式实现简单功能. 开发框架:Spring+Spring MVC+Hibernate(Spring所用的版本为3.0.5). 数据库:MySQL(数据库名称

Spring的注解问题

Annotation(注解)概述 从JDK5.0开始, Java增加了对元数据(MetaData)的支持,也就是 Annotation(注解). Annotation其实就是代码里的特殊标记,它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行.在Java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类. 1.自定义一个注解: @Target({ElementType.TYPE,ElementType.

Spring - Spring 常用注解

概述 简单整理一些 Spring 的注解 这个算是一个 水一波 类型的整理 内容不全 分类可能有的地方不会太符合逻辑 而且时间也不太充裕 先把自己想写的写下来, 然后随缘整理吧 约定 版本 Spring 5 后悔 相关的书, 看了 半个月后 才想起来整理 现在看起来, 有点累 有些东西, 可能记的不那么精准 发现问题, 及时修补吧 1. 基本 @SpringBootApplication 概述 spring 入口类的注解 由 3 个老注解合成 类型 类注解 SpringBoot 的入口类 组成

使用轻量级Spring @Scheduled注解执行定时任务

WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了定时任务.在这里做个备注. spring配置文件  xmlns中加入一段: xmlns:task="http://www.springframework.org/schema/task" 然后xsi:schemaLocation多加下面的内容: http://www.springframe

Spring JSR-250注解

Spring JSR-250注解 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名.类型等信息,如果关系表字段和 PO 属性名.类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取. 注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果

BlazeDS+Spring+SpringMVC 注解方式

BlazeDS是Flex与java通信的众多方式中的一种,其优点在于开源使用起来方便且性能能够满足中小型应用的常规要求,所以是很多中小型java应用与flex通信的首选方式. 而使用BlazeDS手动配置的配置文件比较多,若是借用spring的注解方式就能方便地进行配置了.以下为配置的步骤: 第一步当然是下载BlazeDS的相关jar包了,下载地址:http://sourceforge.net/adobe/blazeds/wiki/Downloads/; 还需要下载spring的相关包,这里不再

Spring 使用注解方式进行事务管理

使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

原创整理不易,转载请注明出处:Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 代码下载地址:http://www.zuidaima.com/share/1772661373422592.htm 本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifi

Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密