Spring 注入 - 访问构造函数中注入的对象

2024-04-09

我有一个资源(Spring bean),它的一些字段是由 Spring 注入的,例如:

@Repository(value="appDao")
public class AppDaoImpl implements AppDao {
   @PersistenceContext
   EntityManager entityManager;

   public Resource() {
      ... use entityManager ... // doesn't work
   }
}

我知道我无法访问构造函数中注入的entityManager,应该使用@PostConstruct对不同方法的注释。但这是什么原因呢?


因为Spring在创建对象之前无法访问任何字段或方法(这是通过构造函数完成的)。所以Spring使用构造函数实例化对象并then注入属性。

解决这个问题的唯一方法是使用构造函数注入 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-class-ctor(如果您有多个依赖项,这可能会很麻烦)。我认为你应该做的是将你的代码从构造函数中移出并使用初始化方法the @PostConstruct注解 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-postconstruct-and-predestroy-annotations:

@PostConstruct
public void init(){
    // do stuff with entitymanager here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 注入 - 访问构造函数中注入的对象 的相关文章

  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • 最快的高斯模糊实现

    如何以最快的速度实施高斯模糊 http en wikipedia org wiki Gaussian blur算法 我要用Java来实现它 所以GPU http en wikipedia org wiki Graphics processi
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 无法访问“不安全”java方法的java表达式语言

    我正在开发一个项目 让用户向服务器提交小 脚本 然后我将执行这些脚本 有很多脚本语言可以嵌入到Java程序中 例如mvel ognl uel clojure rhino javascript等 但是 据我所知 它们都允许脚本编写者调用Jav
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • java setFullScreenWindow 在 Mac 中隐藏登录对话框

    我使用的是全屏窗口 类似于屏幕保护程序 使用这里的方法 GraphicsEnvironment getLocalGraphicsEnvironment getDefaultScreenDevice setFullScreenWindow t
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量
  • 如何在 JPA 和 Hibernate 中将数据库生成的列值定义为只读字段?

    使用 MariaDB 10 2 可以定义日期时间的默认值 例如创建和最后修改 我应该如何将此列作为只读字段访问 因为这个值应该只在数据库的控制之下 并且不应该从代码中修改 但我想在代码中读取这个属性 这很简单 只需设置insertable
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • JUNIT 测试 void 方法

    我有一个充满 void 方法的 java 类 我想进行一些单元测试以获得最大的代码覆盖率 例如我有这个方法 protected static void checkifValidElements int arg1 int arg2 metho
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 如何减去两个 XmlGregorianCalendar 对象来创建一个 Duration 对象?

    我想计算两个时间之间的差值XmlGregorianCalendar对象 从而创建一个Duration object 但我还没有找到执行减法的干净方法 你会怎么做 那应该是 DatatypeFactory newDuration xgc2 t
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • 让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 良好配合

    我目前正在大型数据库的某些表中启用 UTF 8 字符 这些表已经是 MS SQL 类型 NVARCHAR 此外 我还有几个使用 VARCHAR 的字段 Hibernate 与 JDBC 驱动程序的交互存在一个众所周知的问题 例如 参见在 h
  • 如何使用自定义 JDK 构建 Jenkins 项目?

    我有一个常规的 Jenkins 实例 运行一些多分支管道 该实例在 JDK 11 上运行 因为 Jenkins 并不真正支持更高版本 没关系 但不好的是 我的所有管道似乎也都受到 Java 11 的限制 Jenkins 仅使用它自己也使用的
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec
  • 决策树和规则引擎 (Drools)

    In the application that I m working on right now I need to periodically check eligibility of tens of thousands of object

随机推荐

  • 如何在 React JS 中有条件地应用 CSS 类

    我一直在思考如何最好地在 React JS 中有条件地应用 CSS 类 我已经看到了一些答案 但答案并不多 或者它们只是没有我想要的那么详尽 您可以简单地条件类来声明 如下所示 div text div 或者如果你想根据这样的状态切换类 d
  • 什么是“顺序一致的执行,没有数据竞争”?

    In JLS 17 4 5 订单前发生 http docs oracle com javase specs jls se7 html jls 17 html jls 17 4 5 它说 当且仅当所有顺序一致的执行都没有数据争用时 程序才能正
  • dapper 应该使用“using”语句吗?

    我见过有人在做的例子 IDbConnection db new MySqlConnection conn var people db Query
  • 安装 jRebel 插件后,源文件夹在 Netbeans 项目中不可见?

    有一天 我在 Netbeans 7 4 beta 上安装了 jRebel 第二天 我的所有源文件夹和库都从我的项目中消失了 除了 Maven 项目 像这样 源文件夹仍然存在于我的驱动器上 我只需要在我打开的 Netbeans 项目中恢复它们
  • Objective C - 如何将 nsdata 转换为字节数组 [重复]

    这个问题在这里已经有答案了 我正在将 UIImage 转换为 NSData 我想将 NsData 转换为字节数组 并在 json 解析器的帮助下将该字节数组发布到服务器 如果我将以下类型的静态字符串传递给服务器 它会接受并存储 以下只是示例
  • Apache CXF Web 服务上的命名空间问题

    我正在使用 Apache CXF 2 7 3 并遇到了我真的不明白的命名空间问题 我已经尝试对此进行了广泛的搜索 但我发现的大多数结果都是针对不同的行为 问题是调用 Web 服务时 如果参数元素是命名空间限定的 则调用将会失败 消息中的所有
  • Swift:如何禁用函数的整数溢出/下溢陷阱

    我正在将一些旧的 C 代码导入到 swift 项目中 并将其移植为纯 swift 代码 其中一些会进行 加密 其中它会执行类似的操作 let a UInt8 x e g 30 let b a 237 在 C 中 这只是下溢和环绕 这对于这个
  • 扩展 Magento 购物车

    我需要扩展 Magento 购物车以包含商店定位器的额外步骤 我知道我需要覆盖核心 OnePage 控制器 Mage Checkout OnepageController 和块 Mage Checkout Block Onepage 但是在
  • Java持久化问题

    我试图通过 GlassFish 在 EJB 中使用 JPA 来启动并运行一个简单的示例 我有以下内容persistence xml
  • Windows 上的 Cloud-Init 等效项是什么?

    Windows 上的股票引导过程似乎有点缺乏 Linux 具有 cloud init 它将安装软件包 存储文件并根据用户数据运行 bash 脚本 Windows 有 ec2config 但当前不支持在系统 就绪 时运行 cmd 或 powe
  • `checkout -B` 与 `symbolic-ref`

    以下命令等效吗 如果不是 有什么区别 git checkout B a branch and git branch f a branch HEAD git symbolic ref HEAD refs heads a branch 也可以看
  • checkboxGroupInput - 设置最小和最大选择数 - 刻度

    以下是带有复选框组输入的示例代码 library shiny server lt function input output output Selected lt renderText paste input SelecetedVars c
  • 日期自然语言解析器(.NET)?

    我希望能够让用户使用自然语言 例如 下周五 每个工作日 输入日期 包括重复日期 很像以下的例子http todoist com Help timeInsert http todoist com Help timeInsert I found
  • RecyclerView 中的共享元素转换

    我试图在 RecyclerView 上使用共享元素转换 但它似乎不起作用 这是我使用的适配器的一部分makeSceneTransitionAnimation public void onBindViewHolder final BookVi
  • Safari ITP 2.0 存储访问 API - 在 hasStorageAccess 中嵌套 requestStorageAccess 时出现问题 - 非嵌套工作

    我目前正在尝试实现调用存储访问 API 但在将 requestStorageAccess 的调用嵌套在 hasStorageAccess 中时遇到问题 这是代码的概要 它相当标准 requestStorageAccessAndServe l
  • 如何在 Haml 中撤消 Rails 模板生成?

    我在 Rails 项目中安装了一个新的 gem phrasing 它对多个 Haml gem 具有 gem 依赖性 我需要 gem 它为我的项目添加了一些惊人的功能 并且需要安装依赖项 但是现在当我运行rails generate scaf
  • Slick - 更新完整对象或超过 22 列

    我有一张桌子user permissions其中有 46 个权限列以及id and created date 这个表有对应的UserPermissions class class UserPermission val id Long val
  • C# 中 anagram 函数的实现

    可能的重复 有什么简单的方法可以判断单词列表是否是彼此的字谜 https stackoverflow com questions 522112 what is an easy way to tell if a list of words a
  • SOLR 权限/根据访问权限过滤结果

    例如 我有文档 A B C 用户 1 必须只能看到文档 A B 用户 2 必须只能看到文档 C 是否可以在 SOLR 中执行此操作而不通过元数据进行过滤 如果我使用元数据过滤器 每次访问权限发生变化时 我都必须重新索引 2012 年 2 月
  • Spring 注入 - 访问构造函数中注入的对象

    我有一个资源 Spring bean 它的一些字段是由 Spring 注入的 例如 Repository value appDao public class AppDaoImpl implements AppDao PersistenceC