我不仅想知道什么是Facet,还想知道什么是Facet'在物理层面'(据我所知,它不是一个单独的罐子,而是什么?)?
我也想知道在部署之后它如何影响我的应用程序。我会解释一下真实的例子:
我有2个方面(由IDE创建):Spring Facet和Web Facet(用于jsf)。我将它部署到Tomcat,我的应用程序工作正常。
然后我(通过IDE)添加了一个方面 - JPA Facet。我重新部署了应用程序,它仍然运行良好:)
所以,我只是好奇这是什么,为什么我们需要它呢?
答案 0 :(得分:53)
这与Java EE无关。这与IDE有关。该术语本身与编程无关。
来自http://www.thefreedictionary.com/facet
fac·et (fst) n 。
- 其中一个平面抛光表面切割在宝石上或发生 自然地在水晶上。
- 解剖学小而光滑,平坦的表面,如骨头或牙齿。
- 生物学复眼的透镜状视觉单位之一 昆虫。
- 作为主题的众多方面之一。参见phase的同义词。
醇>
这是4。
在这种特定情况下,它只是项目中使用的一个方面,因此IDE可以在生成器,向导,自动包含库等方面拦截它。如果您添加JPA方面,那么您将获得更多选项来使用JPA进行IDE魔术。
答案 1 :(得分:40)
正如BalusC所说,这与Java EE无关,但与IDE有关。这允许以灵活的方式为项目添加“特征”。
来自IntelliJ IDEA Q&A for Eclipse Users(因为你提到了IDEA):
问:分面 - 它们的用途是什么?
A:简化项目配置。
Facets封装了对a的支持 各种框架,技术 和语言。例如,要启用 你项目中的春天,你只有 添加相应的方面。所有 库已下载并且 配置,你得到的全部范围 编码协助,重构等 而且,代码模型也是 认可,所以你完全自由 从担心任何配置 的问题。
在大多数情况下,您可以添加更多 与你相同类型的一个方面 项目。例如,你可以拥有 用于部署的多个Web方面 应用程序到不同的服务器,或 几个EJB方面,每个方面都有自己的方面 EJB版本。 (另见项目 配置。)
是的,Eclipse也使用“Facets”:
AFAIK,NetBeans没有(参见Q: How do I configure a web framework for my project?)。
答案 2 :(得分:2)
Facets是一个Web应用程序框架,它利用服务器端的简单MVC架构和客户端的功能丰富的Javascript组件模型。这两个部分旨在为动态AJAX风格的应用程序无缝集成
答案 3 :(得分:2)
正如Eclipse& Intellij文档,Facets定义特征和要求(特定配置,特定于特定框架/技术)。
将facet添加到项目时,该项目被配置为执行特定任务,满足某些要求或具有某些特征。
简介您必须遵循一些结构来实现一些框架/技术。 IDE可以选择实现它,让您的生活更轻松。
详细说明我将直接从Eclipse Documentations中提供一些详细信息。这是 Eclipse特定的。
在creating a project期间,您将获得为项目实施构面的选项。例如,EAR facet通过添加部署描述符和设置项目的类路径来设置项目以充当企业应用程序。
To add another facet to a project已存在,请完成以下步骤:
注意:仅列出对项目有效的构面
某些方面可能无法协同工作。因此,您还可以choose a preset combination of facets from the Presets list。
Facets在Eclipse中也有版本号。 You can change the version numbers of facets 只要您符合方面的要求。 要更改项目中构面的版本,请完成以下步骤:
你可以用facet做更多的事情。我给出了一些例子,以便您更好地理解。有关详细信息,请查看您最喜欢的IDE的文档。