java bean和java类之间的区别?

Raj*_*Raj 18 java javabeans

我是JSP和服务器端编程的新手.直到现在我正在使用Servlets和java类.我在java类的帮助下隔离我的应用程序(根据MVC模型).我想知道java bean和java类之间的区别.在哪种情况下我可以使用java bean而不是java类.任何有用的解释或有用的链接?

JB *_*zet 28

Java bean只是符合某些约定的类:

  • getter可以访问的属性(如果这些属性不是只读的,则为setter)
  • no-arg公共构造函数
  • 序列化

JSP EL和标签是围绕这些约定设计的.他们中的大多数都不需要尊重所有这些惯例.getter提供的属性是这些约定中最重要的.例如,表达式

${foo.bar.name}
Run Code Online (Sandbox Code Playgroud)

显示foo bean的bar的名称.foo是必须位于页面,请求,会话或应用程序上下文中的bean.并且这个表达式将调用getBar()此bean,然后getName()调用返回的对象getBar().

  • @Wronski在最严格的定义中,是的:https://docs.oracle.com/javase/tutorial/javabeans/advanced/persistence.html.但正如我所说,许多框架依赖于JavaBean约定,但这并不意味着它们必须尊重所有框架.例如,如果对象不可序列化,则使用JSP EL访问对象属性不会失败. (2认同)