`
baobeituping
  • 浏览: 1068736 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

利用Annotation来实现属性的注入

阅读更多

在以前的SPRING中我们通常采用的方式是在XML文件来来实现手动装配类的属性从而来实现IOC。

例如

<bean id="personDao" class="com.dao.PersonDao"/>

 

<bean id="personService" class="com.service.PersonService">

    <property name="personDao">
        <ref bean="personDao" />
  </property>

</beam>

 

如果采用这种方式来进行装配,导致会是该XML十分的庞大和臃肿,在2.5中,可以采用@Resource的方式来进行自动装配。他的原理是首先来查找跟你标记属性名到XML文件中来找名字相同的,如果名字没有相同的再找类型相同的。

首先要做的工作:

1.加入Annotation所需要的命名空间(红色标记的)

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 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
 http://www.springframework.org/schema/aop
 http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
 <context:annotation-config/>

2.在你的所需奥装配的类的属性上或是set 方法上加入@Resource标签

 

package com.service;

import javax.annotation.Resource;

import com.dao.IPersonDao;

public class PersonService implements IPersonService {

 @Resource(name="personDao")
 public IPersonDao personDao;
 public IPersonDao getPersonDao() {
  return personDao;
 }

//或者在set方法上标记也可以
 public void setPersonDao(IPersonDao personDao) {
  this.personDao = personDao;
 }
 public void getPerson() {
  this.personDao.getPerson();

 }

}

 

然后在配置文件中直接写:

<bean id="personDao" class="com.dao.PersonDao"/>

 

<bean id="personService" class="com.service.PersonService">

  </beam>

 

就可以了。

 他的原理跟.net中attribute的原理是类似的。

分享到:
评论

相关推荐

    扩展Spring—使用Annotation将配置资源注入到Bean中

    7. **属性注入** `@Value`注解可以用来注入基本类型或者从属性文件中读取的值。例如,`@Value("${property.name}")`可以从`application.properties`文件中读取属性值。 8. **面向切面编程(Aspect-Oriented ...

    Spring - Annotation 自动匹配注入IOC

    在Spring框架中,注解(Annotation)自动匹配注入IoC(Inversion of Control,控制反转)是一种关键特性,它极大地简化了Java应用的配置管理。本文将深入探讨这一主题,帮助开发者更好地理解和利用这一功能。 首先...

    Spring IOC Annotation 注入 学习实例

    Annotation注入是Spring IOC的一种实现方式,它利用Java注解替代XML配置来管理Bean的依赖关系,使得代码更加简洁、可读性更强。 在Spring框架中,我们主要关注以下几个关键的注解: 1. `@Component`:这是一个基础...

    使用xml和annotation实现类似spring依赖注入和自动扫描类的功能

    本文将探讨如何使用XML配置和注解(Annotation)来实现类似Spring的这些功能。我们将深入理解这两种方法,以及它们如何帮助我们构建松耦合、可维护的代码。 首先,依赖注入是面向对象设计中的一个重要概念,它允许...

    Spring boot将配置属性注入到bean类中

    在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...

    annotation

    2. **创建处理器**:然后,开发者编写一个或多个注解处理器,这些处理器实现了`javax.annotation.processing.Processor`接口,它们会在编译期间被APT调用。处理器负责读取并处理带有特定注解的源代码。 3. **注解...

    4Spring自动装配——annotation resource方式

    本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现自动装配,以及其背后的源码实现。 ### 一、注解驱动的自动装配 在Spring 2.5引入了注解支持后,开发者可以使用注解来声明Bean的属性、方法或构造...

    Spring注解注入属性

    在Spring早期版本中,依赖注入主要通过XML配置文件实现,即在配置文件中明确指定哪些bean之间存在依赖关系,然后由Spring容器负责在运行时创建并装配这些bean。 然而,随着Java注解的普及,Spring也引入了基于注解...

    学习Spring笔记_AOP_Annotation实现和XML实现

    这篇“学习Spring笔记_AOP_Annotation实现和XML实现”主要探讨了如何在Spring中利用注解和XML配置来实现AOP的概念。 AOP,全称Aspect-Oriented Programming,是一种编程范式,旨在将关注点分离,让开发者可以更专注...

    spring 的Annotation方式

    本文旨在深入探讨Spring框架中基于注解的依赖注入机制,特别是`@Repository`、`@Service`、`@Controller`和`@Component`等核心注解的使用方法,以及如何利用`&lt;context:component-scan&gt;`自动扫描功能,实现类级别的...

    JavaAnnotation手册.pdf

    3. 数据持久化:ORM框架如Hibernate利用Annotation简化了对象-关系映射的配置。 4. 文档生成:Javadoc可以读取Annotation生成更详细的文档。 总结,Java Annotation提供了一种强大的元数据机制,使开发者能够在代码...

    javax.annotation-3.0.jar.zip

    总的来说,`javax.annotation-3.0.jar`是Java EE开发中的一个重要组件,它的作用在于提供`@Resource`等注解的实现,使得开发者能够方便地进行依赖注入,提升代码质量。正确理解和使用这个jar包,可以帮助我们更好地...

    spring源代码分析:annotation支持的实现

    这篇博客"spring源代码分析:annotation支持的实现"探讨了Spring如何通过注解处理来实现组件扫描和依赖注入。我们将深入探讨以下几个关键知识点: 1. **组件扫描(Component Scanning)**: - 组件扫描是Spring...

    使用Annotation和反射实现Bean转SQL语句Demo

    接下来,我们需要编写一个工具类,这个类将利用反射机制来遍历Bean对象的属性,并根据注解生成对应的SQL语句。反射是Java提供的一种能够在运行时分析类和对象的能力。我们可以通过`Class`对象获取类的所有信息,包括...

    s2sh基于annotation实现零配置的毕业设计(网上花店系统)

    【标题】"s2sh基于annotation实现零配置的毕业设计(网上花店系统)" 描述了一种使用注解(Annotation)技术在Spring、Struts2和Hibernate(简称S2SH)框架下构建的无XML配置的毕业设计项目。这个项目以一个网上花店...

    基于Annotation的MVC框架SSH示例.rar

    在这个"基于Annotation的MVC框架SSH示例"中,我们将探讨如何使用注解(Annotation)来简化SSH框架的配置和实现。 1. **Spring框架**:Spring是核心容器,负责管理应用对象的生命周期和依赖注入。在传统的Spring配置...

    SSH框架开发案例(Annotation版本)

    在这个"SSH框架开发案例(Annotation版本)"中,我们将探讨如何使用注解(Annotation)来简化SSH框架的配置,提高开发效率。 首先,Spring框架的注解配置允许我们避免XML配置文件的繁琐,通过在类或方法上添加注解...

    基于annotation s2sh实现零配置的教务管理系统改进版

    在本项目中,我们采用“基于annotation的S2SH(Struts2、Spring、Hibernate)实现零配置的教务管理系统改进版”,这表明了系统设计的核心在于利用Java框架的注解能力来减少传统XML配置文件的使用,从而提高开发效率...

    JavaAnnotation手册[借鉴].pdf

    虽然Java虚拟机(JVM)本身忽略Annotation,但通过特定的工具,如Java编译器或自定义的Annotation处理器,可以处理和利用这些信息。 二、Annotation的定义与语法 1. Annotation概念:它以类似修饰符的形式出现在...

    SpringMVC-Annotation

    在"SpringMVC-Annotation"的例子中,我们将重点探讨如何利用注解来简化SpringMVC的配置和控制器的实现。 1. **注解驱动的配置**: 在传统的SpringMVC中,我们需要在XML配置文件中声明DispatcherServlet、视图解析...

Global site tag (gtag.js) - Google Analytics