首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要声明(一些)Spring-Bean

为什么要声明(一些)Spring-Bean
EN

Stack Overflow用户
提问于 2016-08-02 02:55:36
回答 1查看 31关注 0票数 0

我有一个关于Spring -Bean及其与JavaEE的区别的小问题:为什么我必须在配置中(即从其他一些外部库中)在Spring中定义一些Bean,而在JavaEE中不定义?

诚挚的问候。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-02 03:27:21

这可不是个小问题。

JavaEE假设你有一个以标准方式提供服务的容器。您可以在应用服务器中运行应用程序,该服务器实现了规范的特定版本中描述的部分或全部API。您依赖于容器并按照它应该工作的方式使用它: Servlets、JSP、事务管理、JPA、CDI、身份验证和授权……

Spring是一个不同的野兽,主要在200x初EJB2的溃败中诞生。它首先表明您不需要完整的容器(这意味着您可以以不同的方式处理数据层),并且可以从依赖注入(DI)中受益。一开始,Spring完全是通过XML文件来完成DI的。这些就是您提到的配置文件。然后出现了Spring的不同子项目: Spring Integration、Spring Web Services、Spring Data、Spring Boot……和JavaEE的竞争功能。EJB 2被放弃了,取而代之的是非常受Hibernate启发的EJB 3。注释变得更受配置文件的青睐,等等。这是一个非常有机的过程,好的想法会努力变得更好。静态配置以某种方式出现在这里:在XML文件中,在分散在components类中的注释中,在专用于配置的类中……这可以看作是Spring的缺点,但这种复杂性允许您与大量的库和中间件集成,并按照您所看到的方式来塑造应用程序。

多年来,JavaEE和Spring已经成为竞争对手,JavaEE最近借鉴了Spring的一些伟大想法,例如CDI,但它们各自赋予底层容器的角色使它们非常不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38706130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档