当前位置: 首页 > news >正文

对JavaBean的特点写法与实战心得详解

文章目录

  • 一.JavaBean
    • 1.1 JAVABean的特点写法
    • 1.2 JavaBean的小实战

一.JavaBean

javaBean是一个实体类,JavaBean通过提供符合一致设计模式的公共方法向成员属性公开内部域,set和get方法获取。

JavaBean是用Java语言编写的可重用组件。要编写JavaBean,类必须是具体的和公共的,并且具有无参数构造函数。JavaBeans通过提供符合一致设计模式的公共方法,并通过set和get方法获取成员属性,从而将内部域公开给成员属性。众所周知,属性名符合这种模式,其他Java类可以通过内省机制(反射机制)发现和操作这些JavaBean的属性。

查看源图像

1.1 JAVABean的特点写法

1.javaBean必须要有一个无参构造。

2.javaBean属性必须私有化。

3.javaBean必须有对应的set和get方法。

作用:一般用来和数据库字段做映射 ORM。

  • 表->类
  • 字段->属性
  • 行记录->对象

我们如下建立一个表:

idnameageaddress
1上进小菜猪1号4乌兰察布
2上进小菜猪2号23包头
3上进小菜猪3号21大连

1.2 JavaBean的小实战

1.首先建立一个新的meavn工程,名为javabean。

2.新建一个jsp文件,名为javaBean.jsp。

3.新建在src里新建java文件并且新建people对象类。

建立4个变量对象:

private  int id;
private String name;
private int age;
private String address;

4.使用有参,无参,构造get set方法:

public people(){
}
public people(int id, String name, int age, String address) {
    this.id = id;
    this.name = name;
    this.age = age;
    this.address = address;
}
public int getId() {
    return id;
}
public String getName() {
    return name;
}
public int getAge() {
    return age;
}
public String getAddress() {
    return address;
}
public void setId(int id) {
    this.id = id;
}
public void setName(String name) {
    this.name = name;
}
public void setAge(int age) {
    this.age = age;
}
public void setAddress(String address) {
    this.address = address;
}
@Override
public String toString() {
    return "people{" +
        "id=" + id +
        ", name='" + name + '\'' +
        ", age=" + age +
        ", address='" + address + '\'' +
        '}';
}

5.使用javaBean:

JavaBean属性是可由对象的用户访问的命名属性。该属性可以是任何Java数据类型,包括定义的类。
JavaBean属性可能被读取,写入,只读或只写。JavaBean属性通过JavaBean实现类中的两种方法进行访问

<jsp:useBean id="people" class="com.zhu.servlet.people" scope="page"/>

6.使用setProperty将姓名,id,年龄,地址存储。

<jsp:setProperty name="people" property="id" value="1"/>
<jsp:setProperty name="people" property="address" value="包头"/>
<jsp:setProperty name="people" property="age" value="4"/>
<jsp:setProperty name="people" property="name" value="上进小菜猪1号"/>

7.使用getProperty方法,将第六步存储的数据进行输出:

姓名:<jsp:getProperty name="people" property="name"/>
id:<jsp:getProperty name="people" property="id"/>
年龄:<jsp:getProperty name="people" property="age"/>
地址:<jsp:getProperty name="people" property="address"/>

8.启动项目服务器,在url栏里访问该jsp,得到的结果如下:

image-20220831204414798

9.上面的存储语句相当于之前学习的jsp语句。如下:

<%
    people people = new people();
    people.setAddress("包头");
    people.setAge(4);
    people.setId(1);
    people.setName("上进小菜猪1号");
%>

相当于现在的:

image-20220831204830611

10.上面的输出语句相当于之前学习的jsp语句。如下:

<%=people.getAddress()%>
<%=people.getId()%>
<%=people.getAge()%>
<%=people.getName()%>

相当于现在的:

image-20220831205015400

11.更新代码,再次运行项目,访问改url路径,得到的结果如下:

image-20220831205443038

总结:

个人认为还是之前jsp的<% %>嵌入使用java代码比较方便一些。

JavaBean对象的属性应该是可访问的。该属性可以是任何合法的Java数据类型,包括自定义Java类。
JavaBean对象的属性可以是只读、只读或只读。

相关文章:

  • 【手写算法实现】 之 朴素贝叶斯 Naive Bayes 篇
  • Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第12章 Vue3.X新特性解析 12.12 响应式系统工具集的使用
  • java服务器端开发-servlet:202、Servlet执行过程介绍:get请求与post请求、编码相关等
  • yara 分析器
  • 数据结构(三) -- 栈
  • 神策数据发布融媒行业版,驱动媒体深度融合转型
  • 解决安装GDAL库报错问题(Windos)
  • 数据逻辑校验机制
  • Linux关于jar包的基本操作
  • 用什么软件可以提高视频批量剪辑的效率
  • 搜索替换 csv 文件中的文本
  • DBCO-PEG-Casein/Ovalbumin/Lectins点击化学DBCO偶联络蛋白/卵清蛋白/凝集素
  • 【JetPack Compose】声明式UI 、组合、重组
  • jquary样式操作、动画
  • Apollo配置语法——Apollo配置List和Map以及组合应用——非常详细
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 「面试题」如何实现一个圣杯布局?
  • Apache的基本使用
  • canvas 五子棋游戏
  • Computed property XXX was assigned to but it has no setter
  • Koa2 之文件上传下载
  • Laravel 中的一个后期静态绑定
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • PHP 的 SAPI 是个什么东西
  • php的插入排序,通过双层for循环
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • vuex 学习笔记 01
  • 大型网站性能监测、分析与优化常见问题QA
  • 工程优化暨babel升级小记
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 区块链分支循环
  • 如何在 Tornado 中实现 Middleware
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 思考 CSS 架构
  • 微信小程序--------语音识别(前端自己也能玩)
  • 小试R空间处理新库sf
  • 协程
  • 用Visual Studio开发以太坊智能合约
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • #Java第九次作业--输入输出流和文件操作
  • #mysql 8.0 踩坑日记
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (2)Java 简介
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (二)Linux——Linux常用指令
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (一) storm的集群安装与配置
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Sublime Text3配置Lua运行环境
  • (转)我也是一只IT小小鸟
  • .Net - 类的介绍
  • .net CHARTING图表控件下载地址