关于bean.java的简单介绍!

本文介绍了JavaBean的概念及其在电商系统中的具体应用。通过一个商品订单的案例,详细展示了如何利用JavaBean进行代码组织,减少冗余,并提高系统的可维护性。

关于bean.java功能介绍

  ·JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。

 个人理解:bean.java就是包含了一些私有变量和公有方法的类。

 

 

下面通过电子商务网站管理系统中  商品订单 简单介绍bean。  

 1 package com.oracle.jsp.bean;
 2 /**
 3 * 商品订单Bean
 4 * @author svson
 5 *
 6 */
 7 public class OrderProductBean {
 8 private int id;
 9 private int orderId;
10 private OrderBean orderBean;
11 private int productId;
12 private ProductBean productBean;
13 private float price;
14 private int number;
15 private String datetime;
16 public OrderProductBean() {//无参空方法 17 } 18 public OrderProductBean(ProductBean productBean, int number) {//单种商品及数量的订单 19 this.setProductBean(productBean); 20 this.setNumber(number); 21 } 22 public OrderProductBean(OrderBean orderBean, ProductBean productBean, int number) {//多种商品及数量的订单。 24 this.setOrderBean(orderBean); //这三个构造方法属于层次渐进的关系。分别对应不同情境下客户购买方式 25 this.setProductBean(productBean); 26 this.setNumber(number); 27 } 28 public int getId() { 29 return id; 30 } 31 public void setId(int id) { 32 this. id = id; 33 } 34 public int getOrderId() { 35 return orderId; 36 } 37 public void setOrderId(int orderId) { 38 this. orderId = orderId; 39 } 40 public OrderBean getOrderBean() { 41return orderBean; 42 } 43 public void setOrderBean(OrderBean orderBean) { 44 this. orderBean = orderBean; 45 } 46 public int getProductId() { 47 return productId; 48 } 49 public void setProductId(int productId) { 50 this. productId = productId; 51 } 52 public ProductBean getProductBean() { 53 return productBean; 54 } 55 public void setProductBean(ProductBean productBean) { 56 this. productBean = productBean; 57 } 58 public float getPrice() { 59 return price; 60 } 61 public void setPrice(float price) { 62 this. price = price; 63 } 64 public int getNumber() { 65 return number; 66 } 67 public void setNumber(int number) { 68 this. number = number; 69 } 70 public String getDatetime() { 71 return datetime; 72 } 73 public void setDatetime(String datetime) { 74 this. datetime = datetime; 75 } 76 }

相关问题解释:

1:bean中为什么一定要有get  set 方法?

    简单来说,bean就是通过这些get set方法达到赋值和取值的目的。

    一个简单的bean 包含 私有变量(封装保护代码隐私)和相关公有get set方法。此时的bean就相当于一个带有set get的黑盒子,使用者只需要调用这些方法就能完成相关封装操作。

2:bean为什么一定要有一个不带参数的空方法?

   java bean经常会用在一些容器或框架中(比如spring),很多这些容器或框架需要通过反射(reflect)来实现java bean对象的构造,这时候如果没有一个无参数的缺省构造器,那么无论配置还是使用起来会很麻烦。

   在实例化该类的时候需要用到缺省的构造方法;如下:

OrderProductBean  orderproductbean= new OrderProductBean();           

转载于:https://www.cnblogs.com/du1269038969/p/7110255.html

<think>好的,我需要分析用户提供的两段Kotlin代码的区别。用户的问题是关于使用doOnNext和直接subscribe的不同。首先,我要回忆一下RxJava的操作符doOnNext和subscribe的作用。 第一段代码使用了doOnNext,这意味着它会在Observable发射的每个项目上执行一个Action,但不会改变数据流本身。doOnNext通常用于执行副作用,比如日志记录或更新UI,而不会影响后续的操作符链。这里的doOnNext处理了appInfoMap,填充了appIconMap和appNameMap,但之后的subscribe()只是订阅了流,没有处理数据。 第二段代码直接使用subscribe,并在其中执行相同的处理逻辑。这种情况下,所有的处理都是在订阅时进行的,作为onNext事件的一部分。这里没有使用中间操作符,直接订阅并处理数据。 接下来,我需要比较两者的主要区别。首先是执行时机:doOnNext在数据流的每个元素发射时触发,而subscribe中的处理也是在onNext时触发,所以时间点可能是一样的。不过,doOnNext更适用于需要插入副作用而不改变数据的情况,而直接订阅则更直接处理数据。 然后是错误处理。如果在doOnNext中出现异常,可能会影响整个数据流,导致错误传播。而直接在subscribe中处理错误,可以更明确地捕获和处理异常。 另外,代码结构和可读性也是一个方面。使用doOnNext可以将副作用和最终处理分开,使代码更清晰,职责分离。而直接订阅可能将多个逻辑混合在一起,特别是在处理复杂逻辑时。 用户可能关心的是这两种方式在功能上的差异,以及哪种方式更合适。需要指出它们在执行顺序、错误处理和代码结构上的不同,并给出建议,比如在需要分离副作用和处理逻辑时使用doOnNext,而简单处理则直接订阅。 最后,确保回答符合用户要求的格式,包括代码块和相关问题,相关问题要围绕RxJava操作符、错误处理、代码结构和最佳实践等方面。</think>这两段代码的核心逻辑相同,但存在以下关键区别: ```kotlin // 使用 doOnNext 的写法 CloudRepositoryProviders.create(...) .updateAppIconListIfNeed(context) .doOnNext { appInfoMap -> // 处理逻辑 } .subscribe() // 直接 subscribe 的写法 CloudRepositoryProviders.create(...) .updateAppIconListIfNeed(context) .subscribe { appInfoMap -> // 处理逻辑 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值