首页 > 编程语言 >Java Bean介绍与配置

Java Bean介绍与配置

时间:2023-05-07 17:44:38浏览次数:32  
标签:Java String age 配置 private Bean return public name

(一)Java Bean介绍

1.java Bean的介绍

在Java中,有很多class的定义都符合这样的规范:

  • 若干private实例字段;
  • 通过public方法来读写实例字段。

例如:

public class Person {
    private String name;
    private int age;

    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return this.age; }
    public void setAge(int age) { this.age = age; }
}

如果读写方法符合以下这种命名规范:

// 读方法:
public Type getXyz()
// 写方法:
public void setXyz(Type value)

那么这种class被称为JavaBean

上面的字段是xyz,那么读写方法名分别以getset开头,并且后接大写字母开头的字段名Xyz,因此两个读写方法名分别是getXyz()setXyz()

boolean字段比较特殊,它的读方法一般命名为isXyz()

// 读方法:
public boolean isChild()
// 写方法:
public void setChild(boolean value)

我们通常把一组对应的读方法(getter)和写方法(setter)称为属性(property)。例如,name属性

  • 对应的读方法是String getName()
  • 对应的写方法是setName(String)
只有getter的属性称为只读属性(read-only),例如,定义一个age只读属性:
  • 对应的读方法是int getAge()
  • 无对应的写方法setAge(int)

类似的,只有setter的属性称为只写属性(write-only)

很明显,只读属性很常见,只写属性不常见。

属性只需要定义gettersetter方法,不一定需要对应的字段。例如,child只读属性定义如下:

public class Person {
    private String name;
    private int age;

    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return this.age; }
    public void setAge(int age) { this.age = age; }

    public boolean isChild() {
        return age <= 6;
    }
}

可以看出,gettersetter也是一种数据封装的方法。

2.JavaBean的作用

JavaBean主要用来传递数据,即把一组数据组合成一个JavaBean便于传输。此外,JavaBean可以方便地被IDE工具分析,生成读写属性的代码,主要用在图形界面的可视化设计中。

通过IDE,可以快速生成gettersetter。例如,在Eclipse中,先输入以下代码:
public class Person {
    private String name;
    private int age;
}

然后,点击右键,在弹出的菜单中选择“Source”,“Generate Getters and Setters”,在弹出的对话框中选中需要生成gettersetter方法的字段,点击确定即可由IDE自动完成所有方法代码。

(二)Spring 配置 Bean (XML 方式)

1.基于 XML 的配置

通过生成 applicationContext.xml 文件,声明命名空间来配置 Java Bean,XML 基本格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/util
                        http://www.springframework.org/schema/util/spring-util-4.0.xsd"
                        >    
    
</beans>

2.示例

声明一个 Person 类、Car 类,并且生成 getter,setter 方法。

Person. java
package com.test.helloworld;

public class Person {
    private String name;
    private String age;
    private Car car;
    public Car getCar() {
        return car;
    }
    public void setCar(Car car) {
        this.car = car;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Person() {
        System.out.println("无参构造函数");
    }
    public Person(String name, String age, Car car) {
        super();
        this.name = name;
        this.age = age;
        this.car = car;
    }
    
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    
}

toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址

Car.java

package com.test.helloworld;

public class Car {
    private String brand;
    private Double price;
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public Double getPrice() {
        return price;
    }
    public void setPrice(Double price) {
        this.price = price;
    }
    @Override
    public String toString() {
        return "Car [brand=" + brand + ", price=" + price + "]";
    }
    
}

(1)依赖注入:属性注入

 

                                                                   

标签:Java,String,age,配置,private,Bean,return,public,name
From: https://www.cnblogs.com/imreW/p/17379667.html

相关文章

  • Java 进阶 - Apache BeanUtils
    介绍BeanUtils是ApacheCommons的组件,它们源自JavaAPI并提供Java语言的组件体系结构。JavaBeanUtils设计模式使用实用程序类,这些实用程序类有助于获取和设置Java类的属性值,以便检索和定义Bean属性。常用方法//根据指定的Map填充指定JavaBeans属性publicst......
  • Java多态性
    Java多态性面向对象三大特征:封装性,继承性,多态性.extends继承或者implements实现,是多态的前提一个对象拥有多种形态这就是:对象的多态性多态的实现代码中体现多态性:父类引用指向子类对象格式父类名称对象名=new子类名称();或者接口名称对象名=new实现类......
  • Java javadoc 标准和注释规范
    (一)基本定义Javadoc是Sun公司提供的一个技术,从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档(二)使用方式javadoc源文件名.javajavadoc-d文档存放目录源文件名.java通过IDEA生成Javadoc:Tools->GenerateJavaDoc(三)基本标签标签说明@......
  • javaDoc生成文档
    1.https://docs.oracle.com/javase/8/docs/api/(在线API帮助文档) 2.参数 ......
  • DVWA配置详解
    1.首先把dvwa文件夹放在小皮面板的www目录下之后打开c:\phpstudy-pro\www\DVWA-master\config之后把config.inc.php.dist重命名为config.inc.php如以下图片,2.之后进去修改一下mysql数据库的密码,为root因为系统默认密码就是root3.在之后去phpstudy_pro目录下的extensions目录下......
  • Tomcat 配置SSL证书
    1.将证书放到tomcat或tomcat子目录下(如tomcat/conf等)2.修改tomcat/conf下的server.xml文件找到如下注释下的配置并修改:<!--DefineaSSLHTTP/1.1Connectoronport8443ThisconnectorusestheJSSEconfiguration,whenusingAPR,theconnectorsho......
  • ssi整合时的配置文件的核心代码
    以下是为科协备课时做的ssi例子中配置文件的摘要1、beans.xml<beanid="userAction"class="com.njupt.action.UserAction"scope="prototype"><propertyname="service"ref="userService"></property></bean>2、we......
  • LDAP备份迁移和LDAP主从配置,阿里云服务器做主,内网机做从,zabbix,gilab,jumpserver接入lda
    一,LDAP备份迁移1,原服务器上导出备份文件mkdir/opt/ldap/usr/sbin/slapcat>/opt/ldap/ldapdbak.ldif2,目标服务器搭建ldap环境yuminstallopenldapopenldap-clientsopenldap-serversserviceslapdstartsystemctlenableslapdslappasswd-h{SSHA}-sxxxxx #生成管理......
  • 字符串的反转---Java
    定义一个方法,实现字符串的反转键盘输入一个字符串,调用方法后,输出结果 例如: 键盘输入:abc 输出结果:cbapackagestring.practice;/**定义一个方法,实现字符串的反转*键盘输入一个字符串,调用方法后,输出结果*例如:*键盘输入:abc*输出结果:cba*/importjava.util.......
  • flume java.lang.OutOfMemoryError: GC overhead limit exceeded
    http://java-boy.iteye.com/blog/463454解决办法:<1>ps-aux|grepflume查看刚才启动的flume进程,发现如下信息/usr/jdk/bin/java-Xmx20m-Dflume.root.logger=INFO-cpconf<2>于是看一个flume-ng的python脚本,发现JAVA_OPTS="-Xmx20m"问题就是出在这里了,然后我把flume-ng脚本......