前言
不知大家是否和笔者曾经有一样的揪心事,那便是在实际程序开发过程中,我们往往需要将一个POJO中的字段值赋值于另一个POJO中的字段。一般来说我们都是直接采用set的方式手动赋值,不过一旦字段多达几十个的时候,这就纯粹成了体力活,并且伴随着一定的风险。
我们其实需要一种更高效的方式来帮我们完成这些基数作业层,而只需关注具体的业务即可。或许有很多开发人员早已思考到这个问题,并编写有自己的组件,但这些组件往往都是伴随有局限性的,甚至强制要求多个POJO的字段名称必须保持一致。这些“不合理”的要求MiniBus都已经帮你解决了,且具有更好的复用性、延伸性。
一、下载MiniBus
大家可以从http://code.google.com/p/sapphire-cache/downloads/detail?name=minibus-1.0.0-BETA.jar&can=2&q=#makechanges站点下载MiniBus的最新构件版本。
目前MiniBus并没有实现开源,那是因为目前版本过低,或许在后续版本中,MiniBus将能够实现开源。
二、MiniBus的使用
MiniBus的使用极其简单,它可以适用于任何Java项目,且完全可以独立于web容器运行。大家只需要理解并掌握@Assignment、@Paramater、AnnotationContext的用法即可。
@Assignment注解用于标注需要被自动赋值的目标对象,只有标记了@Assignment的POJO才能够实现后续的自动赋值,也就是说@Assignment作用于类型级别。@Paramater则用于标记目标对象字段,也就是说@Paramater用于定义哪些字段需要被自动赋值。而AnnotationContext抽象类则作为赋值入口,并提供有setParam()方法来实现目标对象与源对象之间的自动赋值操作。
我们首先定义一个源对象Bean:
public class InfoBean { public int infoId; public String userName; public String passWord; public String email; /* 此处省略set和get方法 */ }
接着定义一个目标对象Bean,并标记Minibus提供的@Assignment、@Paramater注解:
@Assignment public class InfoBean2 { @Paramater public int infoId; @Paramater public String userName; @Paramater public String passWord; @Paramater public String email; /* 此处省略set和get方法 */ }
使用AnnotationContext实现自动赋值:
public static void main(String[] args) { // TODO Auto-generated method stub InfoBean info1 = new InfoBean(); info1.setInfoId(1); info1.setUserName("minibus"); info1.setEmail("test@gmail.com"); info1.setPassWord("123456"); InfoBean2 info2 = new InfoBean2(); /* 目标对象,源对象 */ AnnotationContext.setParam(info2, info1); }
当然在实际开发过程中,或许POJO之间的字段名称不经相同,我们也不可能强制要求需要实现自动赋值的POJO
之间必须保持相同的字段名称,这个时候我们则可以使用@Paramater注解的缺省value属性或者setName属性进行字段
名称的二次定义。
@Assignment public class InfoBean2 { @Paramater("userId") public int id; @Paramater("userName") public String name; @Paramater("passWord") public String pwd; @Paramater("email") public String e_mail; /* 此处省略set和get方法 */ }
相关推荐
自制工具,方便在两个Bean之间赋值,而且自动追加注释。 .netframework2下动作。
在这个案例中,我们将通过"通过set方法给bean赋值"来深入理解这一概念。 依赖注入可以通过三种方式实现:构造器注入、设值注入(通过setter方法)和接口注入。这里我们主要关注设值注入,因为它是最常见且直观的一...
### 利用反射实现JavaBean的自动赋值 在软件开发过程中,特别是在Web应用程序的开发中,经常会遇到需要将表单提交的数据绑定到JavaBean对象上的需求。这可以通过多种方式实现,例如使用Spring MVC等框架的自动绑定...
本篇文章将深入探讨在Struts中FormBean的日期类型字段如何进行赋值以及自动转化。 一、FormBean的概念与作用 FormBean是Struts中的一种特殊Java类,用于封装HTTP请求中的参数。它们通常继承自`org.apache.struts....
为了解决这个问题,开发者们发明了Java Bean自动生成工具,它可以自动根据数据库表结构生成对应的Java实体对象,大大提高了开发效率。 本文将详细介绍Java Bean自动生成工具以及如何使用"XlsToCode"这个特定的工具...
Spring提供两种主要的自动注入方式:`byName`和`byType`,以及更推荐的`@Autowired`注解。 - `byName`:根据Bean的属性名查找相同名称的Bean进行注入。 - `byType`:如果Bean的属性类型只有一个匹配的Bean,那么...
总结,通过bean的构造器赋值是Spring框架中实现依赖注入的有效手段,它有助于增强代码的可读性和可维护性,降低组件间的耦合度。在实际开发中,根据项目需求和设计原则灵活选择注入方式,可以更好地利用Spring的DI...
为了简化这一过程,Spring提供了一种自动创建Bean的机制,这就是所谓的"代码生成"或者"Bean自动生成"。本项目"spring自动生成bean项目"旨在通过自动化的方式,帮助开发者根据数据库表结构快速生成对应的Java Bean...
在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式地在配置文件中声明每个Bean,而是让Spring容器自动发现并管理应用中的组件。这一特性极大地简化了Spring应用的配置,提高了开发效率。...
Spring 中获取 Bean 的多种方式 在 Spring 框架中,获取 Bean 是一个非常重要的步骤,因为它是使用 Spring 框架的基础。Spring 提供了多种方式来获取 Bean,这些方式可以根据不同的应用场景选择使用。 通过 XML ...
该系统基于Java语言,尤其专注于Java Bean的自动化生成,Java Bean是Java语言中用于表示业务实体和业务逻辑的组件,通常用于企业级应用中。 在软件开发过程中,代码自动生成技术可以减轻开发人员的工作负担,尤其是...
组件扫描是Spring的一项功能,它会自动发现应用上下文中定义的Bean。通过在类上使用`@Component`、`@Service`、`@Repository`或`@Controller`等注解,我们可以告诉Spring这些类是需要管理的组件。这些注解表明了类在...
最后,文档说明了EJB容器能够自动定义并实现的类和对象,比如EJBObject类、EJBObject桩类、Home类、Home桩类等,以及容器对EJB组件的生命周期管理和运行环境的提供。这些描述展示了EJB容器在EJB组件生命周期中扮演的...
在本主题中,我们将深入探讨如何使用MyBatis自动构建Java Bean,以便更高效地处理数据对象。 一、MyBatis简介 MyBatis是一个轻量级的ORM(对象关系映射)框架,它消除了手动编写大量SQL和结果集映射的繁琐工作。...
标题中的“读取Bean类自动创建数据库”是指在软件开发中,通过编程方式解析Java Bean类的信息,并利用这些信息自动生成对应的数据库结构。这通常涉及到Java的反射机制和数据库操作技术。 首先,Java反射机制是Java...
Spring装配Bean之组件扫描和自动装配 Spring框架提供了两种方式来实现自动化装配:组件扫描和自动装配。组件扫描是指Spring自动发现应用上下文中所创建的bean,而自动装配是指Spring自动满足bean之间的依赖。 组件...
基于Java Bean组件技术的模型表示研究 在当前网络应用环境下,模型管理中存在的问题,如模型重用、模型组合和跨平台调用等。为了解决这些问题,研究人员提出了基于Java Bean组件技术的模型表示方法。 首先,研究...
标题"java自动生成bean 根据数据库表及字段"描述的就是这样一个功能,它可以根据数据库中的表和字段信息,自动生成对应的Java Bean源代码,同时还能根据配置的模板添加特定的注释,如MySQL的注释。 在Java世界里,...
自动生成XML和bean工具,都已经做好了,需要你自己建立个表。如果你用的mysql,你只需要更改下配置文件即可,如果是oracle,你下载个数据库连接包,更下下配置文件。struts+mybatis+spring。 generator.xml: 配置...
Bean自动属性填充机制是这两者结合使用时的一个关键特性,它提高了开发效率并简化了代码。本文将深入探讨这一机制,并提供一个完整的实例代码。 首先,我们来理解什么是Bean。在Java中,Bean是一种符合特定设计模式...