Java bean,注释:它们做什么?他们如何帮助我?

six*_*ude 3 java annotations design-patterns javabeans

这是我到目前为止所理解的:

Java bean只是为了帮助其他事物(视觉事物?)与您的代码进行交互.我认为这主要是针对UI的东西,因为它更容易在视觉上进行设计.将Java bean用于非UI事物是不好的做法吗?

Java bean具有getter和setter方法(糟糕的OOP实践)并且是可序列化的.

在注释方面,我认为用户定义的注释不提供任何功能.某些注释如@depretiated会引发编译器警告.用户定义的注释可以以某种方式执行此操作吗?用户定义的注释是否适用于除文档之外的任何其他内容?我该如何使用它们?eclipse或intellij是否有一些涉及注释的功能?

周末愉快.

可靠的人

更新:这开始变得更有意义.有人可以向我推荐一个例子,说明何时使用java bean格式是合适的,何时不适用?

我还读到某个地方,几个类可以是一个bean,它是一种打包类的方式.

只是为了澄清一件事.我95%肯定作为一个java bean有点像单身(或其他模式).它不会影响编译器的功能.

Jam*_*hek 6

注释是一种表示性编程的形式.首先,在注释的实用性变得清晰之前,您必须了解声明式编程的好处.实质上,您可以通过"声明"它具有某种特征来向代码块添加功能或行为.这与实际编写一系列语句以应用或设置相同的行为形成对比.

JPA注释与注释添加功能的一个例子.我不知道"用户创建"的例子在我的头顶,但JPA注释的实现方式与您或我的方式完全相同.

就Java Bean而言,它们最初的用途是用于GUI编程.使用JavaBeans的"简单"方法是使用命名约定来定义bean的"属性" - 因此是getter和setter.据我所知,JavaBeans最初是基于GUI的表单和UI编辑的实现.因此,getter和setter使UI软件可以轻松发现用户可查看或可编辑的属性.使用Bean描述符,您可以更改描述符的工作方式...

他们坚持到今天的原因是他们提供了事实上的方法来检查公开暴露的物业的对象.在GUI之外使用JavaBeans是一种不错的形式.Java中的偏好似乎是使用no arg构造函数然后注入您的依赖项而不是使用RAII样式的编程(不是它严格可用)......

它实际上很常见,特别是如果对象将被不知道它将要操作的对象的代码操纵(看一下Hibernate的一个很好的例子).