Java里的Bean到底是什么
在学习Spring Boot过程中经常遇到把XX类作为Bean注入Spring容器中,那个Bean到底是什么呢?从知乎上看到一个回答。
Bean是符合一定规范编写的Java类,不是一种技术,而是一种规范。
- 所有属性为private
- 是一个公共类
- 提供默认构造方法(就是无参数的构造函数)
- 提供
getter和setter方法来存取类中的属性,若属性是布尔值,则使用isXXX()和getXXX()方法 - 实现
java.io.Serializable接口
满足以上的类就是Bean
这几天看书,发现了一些JavaBean的新知识,作为一下补充。
简短截说,JavaBean与JSP有渊源。JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能,每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能地JavaBean,可以快速生成一个全新的应用程序。而JSP就是有能够使用JavaBean组件的能力。
上面这段看起来JavaBean就是一个普通的Java类,封装了一些数据。
最初,JavaBean主要应用于可视化领域,现在JavaBean更多应用于非可视化领域,JavaBean按功能可分为两类:
- 可视化
JavaBean - 不可视化
JavaBean
可视化JavaBean就是具有GUI图形用户界面的JavaBean,对应的,不可视化的JavaBean就是没有GUI用户界面的JavaBean。
不可视化JavaBean又分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。
public class UserInfo {
private String name;
private String password;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
}该JavaBean可用来封装用户登录时表单中的用户名和密码。
工具JavaBean则可以不遵循JavaBean规范,通常用于封装业务逻辑,数据操作等,例如连接数据库,对数据库进行增删查改和解决中文乱码等操作。工具JavaBean可以实现业务逻辑与页面显示的分离,提高了代码的可读性与易维护性。
public class MyTools {
public String change(String source){
source = source.replace("<", "<");
source = source.replace(">", ">");
return source;
}
}该工具JavaBean就是用来转换字符串中"<"与">"字符的。
参考资料:
Java bean 是个什么概念?
《JSP程序设计 慕课版》第5章-JavaBean技术
评论已关闭