`
Mossad
  • 浏览: 81830 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Spring的Annotation配置方法

阅读更多
        手动配置Spring的bean是一件极为头疼的事情,工作量大不说,还特别容易写错,Annotation标签很好的解决了这个问题,会帮我们剩下很多时间,接下来就是配置的方法:

第一步:添加common-annotations.jar包;
第二步:引入对应的命名空间及对应的Schema文件地址:
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                             			xmlns:context="http://www.springframework.org/schema/context"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-2.5.xsd">

第三步:在配置文件中添加<context:annotation-config /> 让Spring启用对annotation的支持。它其实是注册了多个对annotation进行解析处理的处理器:
  • AutowiredAnnotionBeanPostProcessor
  • CommonAnnotationBeanPostProcessor
  • PersistenceAnnotionBeanPostProcessor
  • RequiredAnnotationBeanPostProcessor.

第四步:在配置文件中添加需要进行扫描的包路径,例如:<context:component-scan base-package="com.mossad" />就是扫描com.mossad包及其子包下所有的bean,最后配置文件就像这样:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 										xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-2.5.xsd">

	<!-- 扫描标记了注解的类 -->
	<context:annotation-config />
	<context:component-scan base-package="com.mossad" />

</beans>

大功告成!接下来就可以使用各种标签进行各种配置了!
                
记一下@Resource标签和@Autowired标签的区别和用法:
1、@Resource和@Autowired都可以用来标记bean的field属性、成员方法、构造函数、形参的,标记field属性的目的是为field注入相应的bean。
2、@Resource标签默认是byName自动注入,也就是说它会自动注入与field名称相同的bean
	@Resource
	private StockService stockService;
也可以通过设置name属性来指定注入bean的名称,如下所示,此时注入的bean就是abcService而不是stockService了
	@Resource("abcService")
	private StockService stockService;
它还有一个属性是type,用来指定bean的类型,如果不设置,那么Spring会通过反射获取field的类型,然后查找相同类型的bean进行注入,如果多余一个则会抛出异常。
3、@Autowired标签默认是byType自动注入,但是它也可以通过另外一个@Qualifier标签指定bean的name
	@Autowired
	@Qualifier("stockService")
	private StockService stockService;

4、@Resource位于javax.annotation包下,是来自Java EE规范的一个Annotation,Spring直接借鉴了该Annotation来为目标Bean指定协作者Bean;@Autowired是Spring自己的标签,来提供自动装配。
5、设置了这两个标签之后,就都不需要setter方法了。
分享到:
评论

相关推荐

    Spring Annotation简介一

    Spring Annotation通过在类、方法或字段上添加特定的注解,可以实现自动配置,从而实现依赖注入和组件扫描等功能。 1. **依赖注入(Dependency Injection, DI)**:Spring Annotation中最常用的注解之一是`@...

    Spring的Annotation配置相关讲义

    在Spring框架中,Annotation配置是一种简洁且强大的方式来管理Bean的定义和依赖注入,它消除了传统的XML配置文件,使得代码更加简洁、易读。在Spring 3.0及以上版本中,Annotation配置得到了广泛的应用。 首先,...

    Spring annotation

    Spring框架是Java开发中不可或缺的一部分,它通过提供丰富的注解简化了依赖注入、配置管理和AOP(面向切面编程)等任务。本文将深入探讨Spring注解及其在实际开发中的应用。 1. **依赖注入(Dependency Injection, ...

    spring annotation注解

    Spring Annotation 注解 Spring 框架中的注解是用于在 Java 类中添加元数据的,通过这些元数据,Spring 框架可以在运行时提供更多的功能。 Spring 框架提供了多种类型的注解,例如 @Autowired、@Resource、@...

    spring 的Annotation方式

    ### Spring的Annotation方式详解 #### 引言 随着Spring框架的发展,其依赖注入(DI)机制也经历了从XML配置向注解驱动的重大转变。自Spring 3.0版本起,框架引入了一系列注解来简化依赖配置,使得开发人员能够在不...

    spring的Annotation注解.

    ### Spring框架中的Annotation注解详解 #### 一、Spring与Annotation的基本概念 Spring框架通过引入Annotation,极大地简化了Java开发中的依赖注入(Dependency Injection, DI)和面向切面编程(AOP)的过程。...

    Spring注释 注入方式源码示例,Annotation

    花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...

    利用 spring annotation AOP 反射 记录日志

    Spring会生成代理类,当调用目标方法时,实际上是调用了代理类的方法,从而执行了我们的通知。而“工具”则可能是指使用到的一些辅助库或工具,如SLF4J或Log4j等用于实际的日志记录。 最后,关于压缩包中的`...

    spring aop实例annotation方法实现

    本实例将详细探讨如何通过注解(Annotation)来实现Spring AOP的方法拦截。 一、Spring AOP基础 Spring AOP是Spring框架的一部分,它提供了一种在运行时织入横切关注点(如日志、事务管理等)到目标对象的能力。AOP...

    SpringIOC_SpringMVC_SpringAnnotation_JPA

    标题 "SpringIOC_SpringMVC_SpringAnnotation_JPA" 涵盖了四个核心的Java开发框架技术,它们是Spring框架的重要组成部分。Spring框架是一个开源的应用框架,它为Java开发者提供了一个全面的基础设施,用于构建可扩展...

    Spring_Annotation_AOP

    在本资料"Spring_Annotation_AOP"中,我们将深入探讨Spring框架如何利用注解实现AOP,以及其背后的原理和实践应用。 面向切面编程(AOP)是一种编程范式,旨在提高代码的可维护性和可重用性,通过将关注点分离,...

    spring的annotation-driven配置事务管理器详解 (多数据源配置

    Spring 的 Annotation-Driven 配置事务管理器详解(多数据源配置) Spring 框架提供了强大的事务管理机制,通过使用 Annotation-Driven 配置,可以方便地管理事务。在多数据源配置中,spring 的 Annotation-Driven...

    SpringMVC Spring MyBatis 框架整合 Annotation Maven Project

    在这个项目中,使用Annotation配置代替了传统的XML配置,使得配置文件更简洁,代码更易于理解和维护。Spring的@Component、@Service、@Repository和@Controller等注解用于标记Bean,而@Autowired注解实现自动装配。...

    Spring+mybatis annotation形式

    同时,我们还需要在Spring配置中启用MyBatis的支持,通过`@MapperScan`注解扫描Mapper接口,并通过`@Resource`或`@Autowired`注解将Mapper注入到Service层。 Service层是我们处理业务逻辑的地方,通常我们会定义...

    Spring 常用 Transaction Annotation

    在Spring XML配置文件中,需要定义`&lt;tx:annotation-driven&gt;`元素,或者在Java配置类中添加`@EnableTransactionManagement`注解。 在实际应用中,需要注意事务的边界和异常处理。例如,当一个方法抛出未检查异常...

    springAnnotation.zip

    Spring注解开发是Spring框架的一个重要特性,它使得开发者能够摆脱XML配置,更加简洁地进行应用程序的构建。本文将深入探讨Spring注解以及相关的源码分析,包括Spring MVC的部分。 首先,让我们了解Spring中的核心...

Global site tag (gtag.js) - Google Analytics