`

为什么要把Bean(POJO)的大部分成员变量私有化,然后提供getter和setter方法

    博客分类:
  • Java
阅读更多

参考了他人的一些见解,以下是自己的一些拙见。

        这样设计的目的有:

        1、隐藏类的具体实现细节。因为成员变量是类的重要组成部分,有些变量信息不能直接暴露给使用者。

        2、权限控制。因为setter方法的回调,提供者可以预先把一些控制逻辑封装在setter方法中,例如age不能是负数等。让使用者只能通过规定的方法来获取属性或设置合理的属性。

        3、便于后续维护。随着业务发展等实际需要,一些属性可能不存在或是名字要修改,因为使用者只是通过getter方法获取的属性,因此只需在父类中修改,而不需要使用者修改。

分享到:
评论

相关推荐

    Entity-Generator:自动化工具,用于使用getter和setter生成POJO类

    实体生成器 自动化工具,用于生成带有getter的POJO类以及带有toString的setter 如何 将index.jsp上的localhost:8080更改为适当的localhost URL。 运行它,您就很好了。

    自动成hbm文件和Pojo Bean文件的工具类

    自动成hbm文件和Pojo Bean文件的工具类 输入 1,tableName 2,beanName 3,pkgName 4,root_path 5,pkColumn <br>输出 1、生成xxx.hbm.xml文件 2、生成xxx.java文件

    前后端分离springmvc和RESTful理解.docx

    其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain Ordinary Java Object)来表示,其本质是一个普通的Java Bean,包含一系列的成员变量及其getter/setter方法。对于视图而言,它更加...

    pojo和xml自动生成工具

    写好配置后,连接数据库,读取所有表,自动生成pojo和mybatis xml增删改查字段信息。...生成的pojo里面只有成员变量没有set/get方法,因为生成代码麻烦但是在eclipse里面添加这个很简单。抛砖引玉,用得上的拿走。

    POJOGenerator v1.3.3 Install(可视化POJO代码生成器最终版)

    7、目前1.3.3版与1.3版差异不大,仅修改了POJO类名与成员变量名的大小写处理策略。 即目标数据库服务器为Oracle时,才将表名除首字母外全部小写处理成POJO类名,同理, 成员变量名也只在Oracle数据库情况下才全小写...

    pojo类与javaBean

    文档主要介绍pojo与javaBean的区别

    java反射封装结果集内容到pojo

    的前提在于,pojo里面的变量要和数据库里面的字段名,包括大小写都要一模一样 这里面还有一段代码,是把数据库结果集封装到Map代替pojo,有些人也许认为不符合OO思想,但是这还没有成为一个定论,而且Map和List,...

    hyberbin 框架 POJO类自动生成工具

    4.seter和geter方法方法名就是在成员变量名首字母大写后加上set或get。 5.如果要使用延迟加载,POJO类必需继承com.jplus.basetable.BaseTable。 6.如果要使用延迟加载,表的主键必需唯一,且有@Primarykey()注解...

    用C#模拟 Java Bean SqlPojo —— Demo.zip

    就是我博客里写的那玩意儿的样例程序。 包括 DBHelper SqlPojo UserControl Manage Ajax.aspx Test.mdf index.html 开发环境:VisualStudio2013

    hibernate简介及优缺点

    1.Hibernate持久化类:Hibernate的持久化类是一个JavaBean(pojo+相应属性的getter和setter方法),该JavaBean最好实现java.io.Serializable接口 2.Hibernate映射文件:Hibernate映射文件是Hibernate与数据库进行持久化...

    一个利用反射,把一个pojo付个另一个pojo的例子

    根据属性名相同, 把一个pojo的属性值付给另一个pojo相同属性名.

    利用Mybatis逆向工程来生成pojo和mapper

    利用Mybatis逆向工程来生成pojo,dao和mapper。然后将pojo实体类和dao拷贝到工程当中。这样可以快速地实现数据库的开发

    POJO In action 代码

    POJO In action 代码 POJO In action 代码 POJO In action 代码

    传输对象模式

    传输对象是一个具有 getter/setter 方法的简单的 POJO 类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为。服务器端的业务类通常从数据库读取数据,然后填充 POJO,并把它发送到客户端或按值传递它。...

    SSM笔记-POJO

    SSM笔记-POJO,测试POJO,SpringMVC会根据请求参数名和POJO类的属性名自动匹配为对应对象填充值

    J2EE中用EntityBean和JDO的优缺点分析

    bean容器处理大部分的数据完整性、资源管理和并发性功能,从而使开发人员关注业务逻辑和数据处理,而不是这些低级细节。使用bean管理的持久性(Bean Managed Persistence,BMP)实体bean时,开发人员编写持久性代码...

    POJO转Map.txt

    POJO转Map代码,POJO转Map代码POJO转Map代码POJO转Map代码

    Mybatis生成pojo插件

    Mybatis pojo插件生成工具 把包下载下来,配置到eclipse中,project new 可以看到mybatis插件已经安装好

    netty pojo 文档

    netty pojo netty pojo替换 channelbuffer

    IDEA逆向生成POJO/DAO/MAPPER 《Generate POJOs.groovy》

    没有统一格式化,所以在此基础上进行了扩展能够简单的生成pojo/dao/mapper. 使用时选择目录后会在改目录下生成对应的pojo/dao/mapper 文件,非常直观。dao和mapper 抛弃了mybatis插件生成的一个POJO一个mapper 很...

Global site tag (gtag.js) - Google Analytics