Spring实战 难懂的JavaBean
bean中文解释为:豆; 豆形种子; 毫无价值的东西。
按照上面的意思,很难理解Bean是个什么鬼,Java豆?
我们先来看一个典型的JavaBean,直观地理解下:
public class Person implements Serializable {
private static final long serialVersionUID = -5546084862088951030L;
private String name; //私有属性
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
下面给出定义,JavaBean是公共Java类,但是为了编辑工具识别,需要满足至少以下条件:
- 提供一个public默认构造方法,例如无参数构造器。
- 所有属性为private。
- 提供getter和setter。get,set方法与属性名需要对应,如getName()。
- 需要序列化。也就是要实现serializable接口,序列化和反序列化可以自行百度。
接下来,我们再看几个易混淆的定义,一起来对比理解。
- EJB
全称Enterprise JavaBean,企业级JavaBean。EJB在企业开发中,需要可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。EJB在JavaBean基础上又提了一些要求,更复杂了。了解下就行了,我们用不到。
- POJO
全称Plain Ordinary Java Object,简单的Java对象。有个叫Josh MacKenzie人觉得,EJB太复杂了,完全没必要每次都用,所以发明了个POJO,POJO是普通的JavaBean(什么是普通,就是和EJB对应的),是为了避免和EJB混淆所创造的简称。总之,区别就是,你先判断是否满足JavaBean的条件,然后如果再实现一些要求,满足EJB条件就是EJB,否则就是POJO。
好了,知道这么多就够了。
Spring实战 难懂的JavaBean的更多相关文章
- Spring实战系列
作者:arccosxy 转载请注明出处:http://www.cnblogs.com/arccosxy/ 稀里糊涂的做了2年的Java Web后端开发,很多东西连蒙带猜外加百度,也算是完成了几个重要 ...
- Spring实战第一章学习笔记
Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面 ...
- spring实战五之Bean的自动检测
在spring实战四中,使用在Spring中增加<context:annotation-config>的方式告诉Spring,我们打算使用基于注解的自动装配,希望Spring特殊对待我们所 ...
- Spring实战6:利用Spring和JDBC访问数据库
主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRep ...
- Spring实战——无需一行xml配置实现自动化注入
已经想不起来上一次买技术相关的书是什么时候了,一直以来都习惯性的下载一份电子档看看.显然,如果不是基于强烈的需求或强大的动力鞭策下,大部分的书籍也都只是蜻蜓点水,浮光掠影. 就像有位同事说的一样,有些 ...
- Spring in action(Spring实战) 第四版中文翻译
第一部分 Spring核心 Spring提供了非常多功能,可是全部这些功能的基础是是依赖注入(DI)和面向方面编程(AOP). 第一章 Springing into action 本章包含: Spri ...
- Spring实战——缓存
缓存 提到缓存,你能想到什么?一级缓存,二级缓存,web缓存,redis-- 你所能想到的各种包罗万象存在的打着缓存旗号存在的各种技术或者实现,无非都是宣扬缓存技术的优势就是快,无需反复查询等. 当然 ...
- 【Spring实战】--1Spring的核心
最近面试总会涉及Spring的优点,SpringMVC与Struts2的比较,生活慢慢稳定下来,这些面试还是应了那句话“只顾盲目拉车,不会低头看路”,回过头来还是要好好研究一下Spring,如果仅仅是 ...
- Spring实战拆书--SpringBean
代码源码地址:https://github.com/wujiachengSH/springBeanDemo 概述:本章将讲解Spring对于Bean的管理方案. 目录: 准备工作 自动装配 处理装配歧 ...
随机推荐
- Can't get Kerberos realm
1. Can't get Kerberos realm 原因分析: 原始代码为: org.apache.hadoop.security.UserGroupInformation.setConfigur ...
- shell while内获取外部变量内容
一.问题 问题很简单,看下面一段tmp.sh代码: #!/bin/sh x="this is the initial value of x" cat /tmp/tmp | whil ...
- 最简单的社交分享代码,无需注册OpenID
包含新浪微博.QQ空间.人人网一键分享,无需注册各个开放平台的OpenID,简单易用. //分享 function share() { var shareLink = location.href; v ...
- android异步向服务器请求数据
下面就android向服务器请求数据的问题分析如下: 1.在android4.0以后的版本,主线程(UI线程)不在支持网络请求,原因大概是影响主线程,速度太慢,容易卡机,所以需要开启新的线程请求数据: ...
- [转]三步完成Source Insight 4.0 破解安装
下载地址有更新,之前有朋友因潜在的版权问题封禁没下到,现在更新后可正常使用了. 文末有完全清除上次安装残留的方法,需要的人可以参考. —— 更新于 2018.1.21 第一步:安装 安装sour ...
- 基于Tcp协议的简单Socket通信实例(JAVA)
好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些网络编程的基础,这里就不提了,只记录最简单易懂实用的东西. ...
- Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结
Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结 常用200个模块 2017/04/12 22:01 <DIR> acc 2017/04 ...
- python列表中元素插入位置总结
要完成的操作是把一个列表里的元素通过for循环添加到另外一个列表里,但是通过insert()方法添加到另外一个列表后却发现元素的位置与原始列表的颠倒了.如以下实例: li1 = ['] li2 = [ ...
- [Big Data - ZooKeeper] ZooKeeper: A Distributed Coordination Service for Distributed Applications
ZooKeeper ZooKeeper: A Distributed Coordination Service for Distributed Applications Design Goals Da ...
- 5. BERT算法原理解析
1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...