使用Spring 2.5注释驱动的IoC功能

概述

注释配置相对于 XML 配置具有很多的优势:

它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。

注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的 XML 配置文件,程序员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。

因此在很多情况下,注释配置比 XML 配置更受欢迎,注释配置有进一步流行的趋势。Spring 2.5 的一大增强就是引入了很多注释类,现在您已经可以使用注释配置完成大部分 XML 配置的功能。在这篇文章里,我们将向您讲述使用注释进行 Bean 定义和依赖注入的内容。

原来我们是怎么做的

在使用注释配置之前,先来回顾一下传统上是如何配置 Bean 并完成 Bean 之间依赖关系的建立。下面是 3 个类,它们分别是 Office、Car 和 Boss,这 3 个类需要在 Spring 容器中配置为 Bean:

Office 仅有一个属性:

清单 1. Office.java

package com.baobaotao;
public class Office {
   private String officeNo =”001”;

   //省略 get/setter

   @Override
   public String toString() {
     return "officeNo:" + officeNo;
   }
}

Car 拥有两个属性:

清单 2. Car.java

package com.baobaotao;

public class Car {
   private String brand;
   private double price;

   // 省略 get/setter

   @Override
   public String toString() {
     return "brand:" + brand + "," + "price:" + price;
   }
}

Boss 拥有 Office 和 Car 类型的两个属性:

时间: 2024-10-22 01:35:22

使用Spring 2.5注释驱动的IoC功能的相关文章

[转]注释驱动的 Spring cache 缓存介绍

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ 概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能

Spring源代码解析(一):IOC容器

在认真学习Rod.Johnson的三部曲之一:< >,顺便也看了看源代码想知道个究竟,抛砖引玉,有兴趣的同志一起讨论研究吧! 以下内容引自博客:http://jiwenke-spring.blogspot.com/,欢迎指导:) 在Spring中,IOC容器的重要地位我们就不多说了,对于Spring的使用者而言,IOC容器实际上是什么呢?我们可以说BeanFactory就是我们看到的IoC容器,当然了Spring为我们准备了许多种IoC容器来使用,这样可以方便我们从不同的层面,不同的资源位置,

spring mvc+shiro+cas 实现cas client功能 跳转回来404

问题描述 spring mvc+shiro+cas 实现cas client功能 跳转回来404 http://securitycenter.com:8080/gtsys/cas?ticket=ST-14-HEDhc1GVQt0UYdiZpi7R-cas 返回这个地址 404 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.or

注释驱动的Spring cache缓存介绍

概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案 (例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即 能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Expression Language)来定义缓存的 key 和各种 condition,还提供开箱即用的

spring 3.1激动人心的新特性:注释驱动的缓存

通过阅读本文,你可以短时间内掌握 spring 带来的强大缓存技术,在很少的配置下即可给既有代码提供缓存能力. Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Ex

spring学习笔记(1)IOC核心原理解析

Ioc-Inversion of Control,即"控制反转".在传统面向对象编程中,我们往往会在客户类里主动去创建.配置我们需要用到的依赖.比如,我们有一个客户类userDao需要完成数据库的增删改查操作,我们需要先在客户类对象中创建我们需要的依赖(数据库连接对象conn): Class.forName("com.mysql.jdbc.Driver"); //加载mysql驱动 url = "jdbc:myqsl://localhost/databas

Spring学习笔记之基础、IOC、DI(1)

0.0 Spring基本特性 Spring是一个开源框架:是基于Core来架构多层JavaEE系统 1.0 IOC 控制反转:把对象的创建过程交给spring容器来做. 1.1 applicationContext.xml beans 存放了很多个类 把一个类放入到spring容器中,该类就是bean 一个bean就是描述一个类 id就是标示符 命名规范:类的第一个字母变成小写,其他的字母保持不变 class为类的全名 1.2 别名,模块别名 <alias name="helloWorld

重新学习之spring第一个程序,配置IOC容器

第一步:导入相关jar包(此范例导入的是spring3.2.4版本,spring2.5版本只需要导入spring核心包即可)     第二步:在项目的src下配置applicationContext.xml的配置文件 applicationContext.xml文件   1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.o

Spring 一二事(6) - IOC MVC 简易搭建

1 <bean id="personAction" class="com.lee.spring008.IOC.DI.MVC.PersonAction"> 2 <property name="stuService" ref="stuService"></property> 3 </bean> 4 <bean id="stuService" class=&q