所谓java Bean就是java类,编译成一个文件,后缀为。班级。这是爪哇豆。很多初学者,包括当年的我自己,总是被这些专有名词搞得一头雾水。
:
目录
1.什么是爪哇豆?2.需求分析3。JavaBean设计去公司面试,对方一口一个控制器,一口一个服务和dao,搞得我很紧张。其实都是很简单的事情,只是我当时不知道而已。接触后才发现。不是Java类吗?
1. 什么是 Java Bean?
很多培训机构在讲java基础的时候,基本都是写这样的代码:
包com . spring MVC . bean;
公共类人员{
私有字符串名称;//名称
私有整数年龄;//年龄
私串性别;//性别
私弦爱好;//爱好
公共字符串getName() {
返回名称;
}
public void setName(字符串名){
this.name=name
}
公共整数getAge() {
回归年龄;
}
公共void存储(整数年龄){
this.age=年龄;
}
公共字符串getGender() {
返回性别;
}
public void set gender(String gender){
this.gender=性别;
}
公共字符串getHobby() {
回报爱好;
}
public void set hobby(String hobby){
this.hobby=爱好;
}
}
毫无疑问,这是一颗爪哇豆。
在很多教科书里,我们被告知现实中有分男女的人,这是一个阶层。然后,我们用java面向对象把人抽象成一个Java类3354person类。
没关系,但仅此而已。没有别的了。时间长了,我们这些初学者学java,写的都是人,车,房子,等等。继承的时候总会写这样的代码,老师也举了这样的例子。
包com . spring MVC . bean;
/**
*水果
*
*/
公共类水果{
私有字符串名称;//水果的名称
私人浮动价格;//价格
公共水果(字符串名称,浮动价格){
super();
this.name=name
this.price=价格;
}
//省略getters和setters
}
包com . spring MVC . bean;
/**
*苹果
*/
公开课苹果推广果{
私有字符串颜色;//颜色
公共苹果(字符串名称、浮动价格、字符串颜色){
超级(姓名、价格);
this.color=color
}
//省略getters和setters
}
是的,这些是爪哇咖啡豆。对于初学者来说,这些例子真的很好理解。但是,这种方式有一个缺点。很容易让人迷茫。也就是说这些例子我能看懂,但不知道学了有什么用。我看过很多培训机构的视频,大部分都这么说。这导致我完成了整个JavaSE,但我仍然不知道我能做什么?
我去商务面试的时候,人家一口一个专业词汇,我都不好意思。
你想想,这种代码我在企业是写不出来的。归根结底,这些例子并不实用。再比如,学校研究数据库的时候,肯定会举一个被引用过N次的例子,就是有一个学生表,上面有学生的姓名,性别,课程,成绩。那就来一个。
select * from t _ student
嗯,我明白,但是,然后呢?
然后呢?我们只负责让你入门,你的学费已经交了,去企业学吧!
嗯,说多了都是眼泪。我见过很多学员的简历都被包装过。结果一出来,他们连JSON是什么,ajax怎么用都不知道。让我们写一个多表查询甚至表查询。琢磨了半天,还是写不出来。
我个人主张实用主义。所以这一节就把JavaBean的基本概念扩展一点,看看从哪里可以学到这些东西,比如字符串,整数,数据库。
2. 需求分析
举个例子,就拿简单书来说,比如一个物品清单:
说实话,每一个数据都是一个对象。对象有各种属性。从图片中,我们至少可以得到这样的信息:
文章的属性:
1.放时间
2.文章标题
3.点击次数
4.评论数量
5.喜欢的数量
6.显示图片
当然要有文章的内容(因为是个例子,我先不写了)。这些属性不就是修饰符为private的Java类中的私有属性吗?这些是相应数据库表中的所谓字段。
你可能会说,是的,但是我为什么要写一个JavaBean来携带这些数据呢?我用HashMap的时候不是一样吗?
是的,某种程度上可以,但是用JavaBean的话更清楚。
你可能已经写了很长时间的代码,但是你并不清楚你到底为什么要定义JavaBean,尤其是在做JavaWeb开发的时候。Java的功能其实就是两句话:
控制数据的流向,收集前台的数据包,然后逐个插入数据库永久保存。
2用jdbc从数据库中取出数据,然后包装起来,最后传到首页公开展示。
JavaBean是一个中转载体。
不就是这么回事吗?作为码农,我们每天不都在做这些事情吗?这就是所谓的增删搜。
我们最多是根据业务需求,通过编写Java代码来做一些逻辑控制。直截了当地说:
不是说你想增加数据,你想增加就增加。
不是说你想删数据,你想删就删。
不是说你想改数据,想改就改。
不是你想查的数据,你想查就查。
查查权威,做个判断,放下你的爱。
不就是这么回事吗?
什么JavaBean,dao,事务管理,aspect,我觉得这些都是次要的,都是一些专业术语的积累。作为一个码农,我觉得首先要知道自己每天在做什么,然后根据需要学习相应的知识或者理论,给自己充电。
连本职工作都不做好,就跟风学大数据,然后学bootstrap和node.js我不是说多学点技术不好。反而我觉得还是要分清主次。比如你现在所在的公司根本不需要大数据,那你花那么多精力去学又如何?
实际上,如果你的网站每月访问量不到1000,那么你高并发,学习分布式好,你能做什么?
再说一个网站如果真的很大,最后其实是服务器,而不是技术。
当你真正需要用到大数据的时候,你可以再去学习。到那个时候,公司肯定会想办法,但是真的不可能。从外面招人也是非常有必要的。
但是,在达到那个水平之前,说白了,你的工资只是和你对当前岗位的适应能力挂钩。你不能说,我学过大数据,去老板办公室要求加薪吧。不现实,你说呢?
好了,回到正题,刚才我们从图片上得到了这么多字段:
1.放时间
2.文章标题
3.点击次数
4.评论数量
5.喜欢的数量
6.显示图片
其实可以分为必要场和辅助场。所谓必备字段,就是一篇文章必须具备的属性。
和发布时间、文章标题、文章内容一样,这些都是必须的字段。
辅助字段是需要设置的字段,以便于对本文的控制。举个例子,
这篇文章可以看吗?
这篇文章被删除了吗?
这篇文章应该排第一吗?
相应的,我们可以设置这些字段,
1.发布:0未发布1已发布。
2.删除:0未删除1已删除。
3.点击、评论和喜欢等领域可以用来产生热度。如果热度高,那就应该排在前面,被更多人看到。(这些字段也可视为主要字段)
对了,实际开发过程中,基本不使用delete语句,所有删除都是逻辑删除,也就是把某个字段(is_delete)从0改成1,表示已经删除了。这样做的好处是,如果将来要恢复这些数据,可以直接更改该字段的值。我查询数据的时候,只要在where条件中加一个is_delete=1,那么被删除的数据就查不出来了。
为什么要这么做?
比如游戏里丢了东西,怎么找回?如果直接删掉,那就真的GG了。只要数据还在,一切都好说。我不能让它展示出来。如果我想检索,可以直接检索。嗯,通常是这样做的。
3. JavaBean设计
接下来,让我们设计这个JavaBean。打开Eclipse,我以之前的springmvc案例为例。现在,创建一个新的包,名为bean,专门用来存储这些JavaBean,然后创建一个新的class —— Article(文章类)
公共类文章{
}
开始设计领域。
首先,我们知道这些数据最终会存储在数据库表中,所以我们肯定需要有一个id作为它的主键。让我们使用字符串,然后使用uuid主键来生成策略。
私有字符串id;//主键UUID
主键是这一段数据的身份证,是唯一的,不可复制的。
必填字段或主字段。
私人日期发布时间;//发布时间
私有字符串标题;//文章的标题
私有字符串pictureLine//图像链接地址
辅助字段:
私有整数hitNum//点击音量
私有整数commentNum//评论数量
私有整数loveNum//喜欢
私有整数已发布;//发布0未发布1已发布?
私有整数被删除;//要删除0吗?1已被删除。
最后,一般来说,我们还需要记录一些类似于日志的信息,比如这篇文章是什么时候创作的,创作时间可以记录吗?另外,是谁创造的?可以记录用户的id吗?还有,文章可以多次修改。那么,最后一次修改时间需要记录吗?
我们到此为止吧。JavaBean的设计需要根据具体的业务需求来确定。这里我只是举个例子。
私有字符串userId//用户ID
私人日期创建时间;//创建时间
私人日期更新时间;//上次更新时间
大概就是这样。最后,使用Eclipse的快捷键alt s,单击Generate Getters和Setters,选择所有字段,然后单击OK。
最后鼠标右键,source3354format,格式化它,一个JavaBean就做好了。
当你写完JavaBean,就差不多相当于设计了数据库表。我们写JavaBean的时候,属性一般都是用hump方法命名的,但是数据库表有一点不同,就是在hump里面,要把大写字母改成小写字母,然后加一个下划线。
例如
UserId,对应的数据库表字段名是user_id,一般是这样命名的。
在实际开发过程中,差不多是这样的:
前台页面(可能在表单中填写数据)——保存—— ajax,并将其传递给控制器层3354,以与JavaBean进行映射。将这些数据保存到JavaBean 3354中,进入服务层。这里对数据进行一些逻辑运算和判断。有歌曲为证:
3354最后进入Dao层,直接访问数据库,进行各种操作。
好了,这一节对JavaBean做一些简短的,呃,简要的介绍。在下一节中,我将更深入地讨论这个问题。总之,刚学Java的时候,不要被这些专业术语吓到。真的没有你想的那么难。
如果你总是想着复杂,那么你将永远看不到简单。直到有一天你发现所有的烦恼都只在你心里。
以上是javaSE foundation如何理解javaBean是什么的细节。更多关于javaSE对javabean的理解,请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。