java - 如何理解Spring中的Bean?

标签 java spring spring-mvc

我是Spring的初学者,对Bean到底是什么还不是很清楚。从它的定义来看,它似乎是由一些预先设置的配置文件或在类上使用注释来确定的对象。一旦 spring 启动,bean 就被创建了。但是 Spring 可以使用 DI 创建一些属性不是预先确定的实例吗?(比如,用户从网站发布一个 json 到 Spring。这个 json 包含一些用于新建实例的数据。Spring 可以使用这个 json使用 DI 创建实例?)

最佳答案

Bean 只是您的 spring 应用程序创建的对象。如您所知,任何 Spring 应用程序都有多个交互对象一起工作以产生所需的编程行为。

Bean 基本上是一个托管对象,即在运行时 IOC 容器根据编码器提供的定义或 beans 标记下的 apllicationContext.xml 文件中的配置创建 bean 对象,并根据需要将其注入(inject)其他类.

任何 Spring 应用程序基本上都是相互交互的各种对象的集合,这些对象或 beans 协作创建应用程序。

Bean 的生命周期由 Spring IOC 容器管理。

Spring 应用程序使用的 JSON 由 HttpMessageConverter 处理。收到新请求时,Spring 框架将使用 content-type header 来确定请求的媒体类型。 然后它将尝试在应用程序的类路径中找到相应的转换器来转换请求主体。

很明显,传入的请求主体对象不是由 Spring IOC 容器管理的,因此不是 Bean。

但这些反序列化实例在 Spring 应用程序的各个层(如服务、DAO、 Controller )中用作数据传输对象。

关于java - 如何理解Spring中的Bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475523/

相关文章:

java - 扫描仪问题,输入信息不起作用

java - Java中printf期间分离列表元素

java - jboss-deployment-structure.xml 添加 JAXP 排除

java - 这在生产服务器上安全吗?

java - Spring MVC 404 未找到

java - 使用 Spring Security OAuth2 验证不同的用户类型

spring-mvc - aop.AopInvocationException : Null return value from

java - Spring 4 MVC - Rest 服务 - 在 bean 中使用默认值

forms - 使用 Spring 的 JSP 中的多个模型属性

java - 针对多个 XML 节点的 Spring Batch JAXB XML 解码