java - 在Spring框架应用程序中使用new?

标签 java spring

使用 new 创建对象是否被禁止或不是最佳实践?创建对象意味着像 Helper 对象一样用于某些与请求无关的特定任务,但仅用于执行一些后台任务,例如读取本地文件、数据库等

最佳答案

  1. 这并没有被禁止
  2. 实例化无状态组件(例如助手)不是一个好习惯,因为您正在创建不必要的实例
  3. 所有 spring bean 都“存活”在应用程序上下文中,并且是实例化它们的人,而不是您。因此,如果您希望能够将依赖项注入(inject)到您的对象中,请让它们由 spring 管理 - 即不要使用 new 进行实例化。 .
  4. 通常,您只会实例化值对象( UserAddressAccountInfo 等)(使用 new )
  5. 有一些“魔法”可以让您使用 new 进行依赖注入(inject)和实例化。 。这是 @Configurable 注解。它使用插入虚拟机的 AspectJ 编织器。但在没有其他选择之前,不要考虑这个问题。 (最后一句是我的看法)

关于java - 在Spring框架应用程序中使用new?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174595/

相关文章:

java - spring中的命令对象

java - 将 Map<Object, Object> 转换为 Json 字符串

java - IntelliJ Android - 调试前删除应用程序

java - 为什么来自 Spring 的 BCryptPasswordEncoder 为相同的输入生成不同的输出?

java.lang.IllegalAccessException : Can not call newInstance() on the Class for java. lang.Class

java - 如何直接从ftl模板调用FreeMarker指令?

OpenShift 上的 Java 服务器

java - 带allowOverwrite的IgniteDataStreamer比putAll慢?

java - 在 JTable 中下拉内容

spring - FileNotFoundException..Classpath 资源在 spring 中找不到?