(一)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
,那么读写方法名分别以get
和set
开头,并且后接大写字母开头的字段名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)。
很明显,只读属性很常见,只写属性不常见。
属性只需要定义getter
和setter
方法,不一定需要对应的字段。例如,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; } }
可以看出,getter
和setter
也是一种数据封装的方法。
2.JavaBean的作用
JavaBean主要用来传递数据,即把一组数据组合成一个JavaBean便于传输。此外,JavaBean可以方便地被IDE工具分析,生成读写属性的代码,主要用在图形界面的可视化设计中。
通过IDE,可以快速生成getter
和setter
。例如,在Eclipse中,先输入以下代码:
public class Person { private String name; private int age; }
然后,点击右键,在弹出的菜单中选择“Source”,“Generate Getters and Setters”,在弹出的对话框中选中需要生成getter
和setter
方法的字段,点击确定即可由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. javapackage 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