iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >javaSE基础如何通俗的理解javaBean是什么
  • 231
分享到

javaSE基础如何通俗的理解javaBean是什么

2024-04-02 19:04:59 231人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 什么是 Java Bean?2. 需求分析3. JavaBean设计去公司面试,对方一口一个controller,一口一个service,dao,搞得我很紧张。其实都是很简

去公司面试,对方一口一个controller,一口一个service,dao,搞得我很紧张。其实都是很简单的东西,只是自己当时不知道罢了,接触之后才发现,不就是Java类吗?

1. 什么是 Java Bean?

很多培训机构在讲Java基础的时候,基本都会写这样的代码:


package com.springMVC.bean;
public class Person {
	private String name; // 姓名
	private Integer age; // 年龄
	private String gender;// 性别
	private String hobby;// 爱好
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
}

毋庸置疑,这就是一个java bean。

在很多教材上,我们都被告知,现实中有人,分为男人和女人,这是一个类。然后,我们用java的面向对象将人抽象成一个Java类 —— Person类。

这固然不错,然而,也就只是如此而已了。没有什么其他的东西,弄了半天,我们初学者学java,都在那写人类,车子类,房子类,等等。学继承的时候,总是写这样的代码,老师也举类似这样的例子。


package com.springmvc.bean;


public class Fruit {

	private String name; //水果的名称
	private Float price;//价格
	
	public Fruit(String name, Float price) {
		super();
		this.name = name;
		this.price = price;
	}
	 // getters  和 setters 省略
}

package com.springmvc.bean;

public class Apple extends Fruit {
	
	private String color;//颜色

	public Apple(String name, Float price,String color) {
		super(name, price);
		this.color = color;
	}

      // getters  和 setters 省略

}

没错,这些都是Java Bean,对于初学者,这些例子的确比较好理解。但是,这样就有个弊端,它很容易让人产生一种迷茫,就是说,这些例子我固然听得懂,但是,我不知道学这些有什么用?我看过很多培训机构的视频,里面多半都是这么讲的,这导致我整个JavaSE都学完了,还是不知道自己能干嘛?

去企业面试,人家一口一个专业词汇,弄得我好不尴尬。

想想也知道,去企业里不可能让我写这种代码的。归根到底,还是这些例子不实用。再举个例子,学校学数据库的时候,肯定会举一个被举了N多次的例子,就是有一张学生表,学生有姓名,性别,课程,分数。然后来一个

select * from t_student;

恩,我的确听懂了,可是,然后呢。。。?

然后?我们只负责领你入门,你学费也交了,你赶紧去企业里面学吧!

好吧,说多了都是泪。我就见过好多简历被包装过的培训生,结果一进来,连JSON都不知道是啥,ajax也不清楚怎么用。让写个多表查询或者连表查询吧,琢磨个半天还是写不出来。

我个人主张实用主义,所以,本节就 JavaBean 的基本概念来稍微延伸一下,看看我学这些东西,什么String,Integer啊,数据库啊,到底可以用在哪里?

2. 需求分析

举个例子咯,就拿简书来说好了,比如一个文章列表:

每一条数据,说实话,就是一个对象,对象有各种属性,从图片中,我们起码就可以获得这些信息:

一篇文章具备的属性:

1.发布时间
2.文章标题
3.点击量
4.评论数
5.点赞数
6.显示图片

当然,还需要有文章内容(因为是举例子,我就先不写了),这些属性,不就是Java类里面修饰符为private的私有属性吗?对应数据库表里面,这些就是所谓的字段。

你可能会说,对啊,可是我为什么要专门去写一个JavaBean来承载这些数据呢?我用一个HashMap不是也一样吗?

是的,从某种程度上,的确可以,可是,用JavaBean的话更加清晰明了。

你可能写了很久的代码,都不清楚到底为什么要定义JavaBean,尤其是做Javaweb开发的时候,Java的作用其实就是两句话:

1 控制数据的流向,将前台传过来的数据包起来,然后一个一个地插入数据库永久保存。

2 从数据库中用jdbc取出数据,然后包起来,最终传递到前台页面进行公开展览

JavaBean就是一个中转载体。

不就是这么回事吗?作为码农的我们,每天不就是在做这些事情吗?这就是所谓的增删改查。

最多就是,我们很根据业务需求,通过写Java代码,来进行一些逻辑的控制,说穿了就是:

数据不是你想增,想增就能增。

数据不是你想删,想删就能删。

数据不是你想改,想改就能改。

数据不是你想查,想查就能查。

查个权限 , 做个判断 , 放手你的爱。

不就是这么回事吗?

什么JavaBean,dao,事务管理,切面,这些我认为反而是次要的,都是一些专业术语的堆积,作为一名码农,我认为首先得知道,自己每天到底在干嘛,然后根据需要再去学对应的知识或者理论来给自己充电。

不要连本职工作都还没做好,就一会跟风去学大数据,一会又去学bootstrap,node.js,我不是说多学点技术不好。而是,我认为还是要分一个轻重缓急,比如你现在待的公司,根本用不到大数据,你花了那么多精力去学了又怎样呢?

再说个实际的,如果你的网站访问量每个月1千都达不到,你高并发分布式学得再好,又能怎么样呢?

再说了,如果一个网站真的做大了,到最后其实都是拼的服务器,而不是技术。

当你确实需要用到大数据了,再去学,也行啊。到那个时候,公司肯定会想办法的,实在不行,向外招人也是非常必要的。

可是,还没有达到那个层次之前,说句大白话,你的工资只跟你对当前岗位的适应程度挂钩。你不可能说,我已经学了大数据了,就跑到老板的办公室要求涨工资吧。也不现实啊,你觉得呢?

好了,回到正题,刚才我们从图片中获取了这么多字段:

1.发布时间
2.文章标题
3.点击量
4.评论数
5.点赞数
6.显示图片

其实可以分为必要字段和辅助字段。所谓的必要字段,就是作为一篇文章,必须要有的属性。

像发布时间,文章标题,还有文章内容,这些都是必要字段。

辅助字段就是,为了方便对这篇文章进行控制,需要设置的字段。比如,

这篇文章是否能够被看到?

这篇文章是否已经删除?

这篇文章是否应该被排在前面?

对应的,我们可以设置这些字段,

1. 是否发布 :  0 未发布 1 发布
2. 是否删除 : 0 未删除 1 已删除
3. 点击量,评论数,点赞数 这些字段可用于生成一个热度,如果热度很高,那么就应该被排在前面,被更多的人看到。(这些字段看做主要字段也可以)

顺便提一句,实际开发的时候,基本用不到delete语句的,删除都是用的逻辑删除,就是说,将某一个字段(is_delete)从 0 变为 1,表示已删除。这样的好处就是,万一这条数据以后想恢复的话,直接改变那个字段的值就OK了。我查询数据的时候,在where条件里面加一个 is_delete = 1 不就好了,那么删除的数据就不会被查出来了。

为什么要这么做呢?

比如,游戏中物品丢失了,怎么找回呢?如果直接delete掉了,那么就真的GG了。只要数据还在,一切都好说,我大不了不让它显示就是了,万一要找回就能直接找回了。嗯,一般都是这么做的。

3. JavaBean设计

接下来,我们来设计这个JavaBean。打开Eclipse,我以之前那个springmvc的案例来举例,现在新建一个包,就叫做bean,里面是专门用来存放这些JavaBean的,然后新建一个类 —— Article(文章类)

Paste_Image.png


public class Article {
	
}

开始设计字段。

首先,我们知道,这些数据最终是要存储到数据库表的,那么就肯定需要有一个id,作为它的主键,我们就用String吧,然后用uuid主键生成策略。


private String id; //主键 UUID

主键就是这一条数据的身份证,是唯一的,不允许重复。

必要字段,或者叫主要字段


private Date publishTime;	//发布时间
private String title;	 	//文章标题
private String pictureLine;	//图片链接地址

辅助字段:


private Integer hitNum;		//点击量
private Integer commentNum; //评论数
private Integer loveNum;	//点赞数
private Integer isPublished; //是否发布 0 未发布 1 发布
private Integer isDelete;	  //是否删除   0 未删除 1 已删除

最后,一般来说,我们还需要记录一些类似于日志的信息,比如这篇文章是什么时候创建的,这个创建的时间是不是可以记录下来呢?另外,是谁创建的,我们是不是可以记录下用户的id呢?还有,文章是可以被多次修改的,那么,最后一次修改的时间是不是需要被记录下来呢?

先就说这么多吧,JavaBean的设计需要根据具体的业务需求来定,我这里只是举一个例子而已。


private String userId; //用户ID
private Date createTime;//创建时间
private Date updateTime;//最后更新时间

这样一来就差不多了,最后,利用Eclipse的快捷键 alt + s,点击Generate Getters and Setters… ,选择全部字段,再点击OK。

最后,鼠标右键,Source —— FORMat,格式化一下,一个JavaBean就做好了。

当你写完了JavaBean,差不多也就相当于设计好了数据库表。我们在写JavaBean的时候,属性一般都用驼峰法来命名,而数据库表有点不一样,就是在驼峰的地方,大写字母要改为小写字母,然后加上一个下划线。

比如

userId,对应的数据库表字段名称就是 user_id,一般都是这么命名的。

在实际开发过程中,差不多就是这样:

前台页面(可能是在一张表单Form里面填写数据) —— 保存 —— ajax传递到Controller层 —— 与JavaBean做映射,将这些数据保存到JavaBean中 —— 进入Service层,这里对数据进行一些逻辑操作和判断。有歌为证:

Paste_Image.png

—— 最后,进入Dao层,直接访问数据库,进行各种操作。

好了,这一节对JavaBean做了一些简短的,额,简短的介绍。下一节我会稍微深入一些。总之,初学Java的时候,千万不要被这些专业术语给吓到,它真的没你想的那么难。

如果你总是想着复杂,那么你永远看不到简单。直到有一天你发现,所有的麻烦都只在你的心中。

以上就是javaSE基础如何通俗的理解javaBean是什么的详细内容,更多关于javaSE理解javabean的资料请关注编程网其它相关文章!

--结束END--

本文标题: javaSE基础如何通俗的理解javaBean是什么

本文链接: https://www.lsjlt.com/news/154535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javaSE基础如何通俗的理解javaBean是什么
    目录1. 什么是 Java Bean?2. 需求分析3. JavaBean设计去公司面试,对方一口一个controller,一口一个service,dao,搞得我很紧张。其实都是很简...
    99+
    2024-04-02
  • DOS批处理的基础是什么
    这篇文章给大家介绍DOS批处理的基础是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者C...
    99+
    2023-06-08
  • hse管理工作的基础是什么
    一、hse管理工作的基础 HSE管理工作的基础是保护员工的健康和安全,以及保护环境。这需要企业采取一系列措施来评估和管理各种类型的风险,例如环境、健康和安全等。这些措施包括安全培训、安全观察与沟通、作业许可、个人安全行动计划、风险评价...
    99+
    2023-10-29
    管理工作 基础 hse
  • Linux网络管理的基础知识是什么
    Linux网络管理的基础知识是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。网络基本配置文件网络连接配置文件(centos系):/etc/sysconfig...
    99+
    2023-06-16
  • Golang基础学习之map的实现原理是什么
    这篇文章主要讲解了“Golang基础学习之map的实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang基础学习之map的实现原理是什么”吧!0. 简介哈希表是常见的数据结...
    99+
    2023-07-05
  • 如何理解Python基础中的for循环语句
    如何理解Python基础中的for循环语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语...
    99+
    2023-06-02
  • Python基础教程之异常处理的方法是什么
    这篇文章主要介绍“Python基础教程之异常处理的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python基础教程之异常处理的方法是什么”文章能帮助大家解决问题。异常在Python中,使...
    99+
    2023-07-05
  • 了解Go语言的基础是什么语言很重要。
    标题:了解Go语言的基础是什么语言很重要 随着互联网技术的发展和应用需求的不断增加,越来越多的开发者开始关注并学习Go语言,这门由Google开发的编程语言以其简洁、高效和便捷的特点受...
    99+
    2024-04-02
  • 云服务器基础运维与管理的区别是什么
    云服务器基础运维与管理是云计算运营的两个主要方面,它们之间的区别如下: 角色和职责 云服务器基础运维指的是确保云服务器的可靠性、安全性、可用性、可扩展性等方面的运营。云服务器的基础运维包括了云服务器的维护、监控、优化等方面的职责。 云...
    99+
    2023-10-27
    区别 服务器 基础
  • vue基础语法中的插值表达式如何理解
    vue基础语法中的插值表达式如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、vscode插件介绍在我们演示插值表达式之前,我们先安装这一个VScode给我们提供的插件...
    99+
    2023-06-29
  • Linux用户需要了解的ASP shell基础知识是什么?
    ASP shell是一种在Linux系统上运行的脚本语言,它可以让用户通过命令行界面来执行各种任务,例如管理文件、搭建网站等。对于Linux用户来说,了解ASP shell的基础知识是非常重要的,下面我们就来介绍一下这方面的内容。 一、AS...
    99+
    2023-09-25
    shell http linux
  • 如何理解Linux基础命令的显示登录用户w
    如何理解Linux基础命令的显示登录用户w,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。w显示哪些用户登录,并且显示用户在干什么。报头按此顺序显示当前时间、系统运行时间、当...
    99+
    2023-06-05
  • 如何理解MySQL管理基础中的安全、访问控制和权限
    如何理解MySQL管理基础中的安全、访问控制和权限,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。MySQL权限系统确保所有的用...
    99+
    2024-04-02
  • Kafka中的Offset是什么,如何管理Offset
    Kafka中的Offset是指每个消费者在一个特定分区中的下一条消息的偏移量。消费者可以通过管理Offset来记录自己消费消息的进度...
    99+
    2024-04-02
  • JavaScript中Promise的原理是什么及如何使用
    这篇文章主要介绍了JavaScript中Promise的原理是什么及如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript中Promise的原理是什么及如何使用文章都会有所收获,下面我们一起...
    99+
    2023-07-05
  • 如何理解Java虚拟机及JVM体系结构是什么
    今天就跟大家聊聊有关如何理解Java虚拟机及JVM体系结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JVM(Java 虚拟机)Java虚拟机,java源文件(.java)通...
    99+
    2023-06-17
  • win11很卡的原因是什么及如何解决
    这篇文章主要讲解了“win11很卡的原因是什么及如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win11很卡的原因是什么及如何解决”吧!win11为什么很卡:答:可能是电脑硬件配置不...
    99+
    2023-07-01
  • 阿里云的ECS是什么?如何使用和管理?
    阿里云的ECS(Elastic ComputeService)是阿里云推出的一种弹性计算服务,它提供了一种灵活、可扩展的计算资源,可以帮助企业和个人快速搭建和部署应用程序,而无需关心底层的服务器硬件和软件配置。本文将详细介绍ECS是什么,以...
    99+
    2023-11-11
    阿里 如何使用 ECS
  • MAC更改用户名时管理员变成普通用户的解决方法是什么
    这期内容当中小编将会给大家带来有关MAC更改用户名时管理员变成普通用户的解决方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。有些朋友用惯了当前用户名想要换一个,可是却从管理员变成了普通用户该怎么办...
    99+
    2023-06-05
  • 什么是PostgreSQL的扩展,如何安装和管理扩展
    PostgreSQL的扩展是一种可以添加额外功能或功能性的模块,可以通过安装和加载来扩展PostgreSQL的功能。扩展可以包括新的...
    99+
    2024-04-09
    PostgreSQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作