激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - javaSE基礎如何通俗的理解javaBean是什么

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

2022-02-21 00:36spring小楊 Java教程

所謂的Java Bean,就是一個java類,編譯后成為了一個后綴名是 .class的文件。這就是Java Bean,很多初學者,包括當年的我自己,總是被這些專有名詞搞的暈頭轉向

去公司面試,對方一口一個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(文章類)

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

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層,這里對數據進行一些邏輯操作和判斷。有歌為證:

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

―― 最后,進入Dao層,直接訪問數據庫,進行各種操作。

好了,這一節對JavaBean做了一些簡短的,額,簡短的介紹。下一節我會稍微深入一些。總之,初學Java的時候,千萬不要被這些專業術語給嚇到,它真的沒你想的那么難。

如果你總是想著復雜,那么你永遠看不到簡單。直到有一天你發現,所有的麻煩都只在你的心中。

以上就是javaSE基礎如何通俗的理解javaBean是什么的詳細內容,更多關于javaSE理解javabean的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/weixin_39570751/article/details/120713529

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文字幕在线播放一区 | av在线看网站| 91看片王| 亚洲一区二区网址 | 美女羞羞视频网站 | 国产一级性生活视频 | 国产一级免费在线视频 | 欧美日韩爱爱视频 | 日本欧美一区二区三区在线观看 | 国产精品1区2区在线观看 | 爱操成人网 | 精品国产一区二 | 日韩欧美电影在线观看 | 亚洲小视频在线播放 | 精品国产一区二区亚洲人成毛片 | av免费在线不卡 | 91av日韩 | 日本aaaa片毛片免费观看视频 | 在线视频 日韩 | 一区二区三区国产视频 | chinese18 xxxx videos| 国产成人av免费 | 一级片999| av电影免费观看 | 成人免费观看49www在线观看 | 9191久久久久视频 | 国产啊v在线观看 | 一本色道久久综合狠狠躁篇适合什么人看 | 国产精品欧美久久久久一区二区 | 亚洲国产精品一区二区三区 | 久久国产精品影视 | 在线观看国产 | 羞羞羞羞视频 | 成人午夜视频免费看 | 黑人日比 | 久久久久99999 | 久久777国产线看观看精品 | 一级黄色免费大片 | 国产欧美精品一区二区三区四区 | 亚洲第一色婷婷 | 国产精品成人一区二区三区吃奶 |