问题标签 [spring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2548 浏览

spring - spring beans 和 sessionFactory 在不同的 xml 文件中

我们有 3 个应用程序使用 3 个不同的 spring 配置文件。但是我们有一个数据库和一个数据源,所以有一个会话工厂。我们如何将会话工厂 bean 导入到 3 个不同的 spring 配置文件中?

0 投票
5 回答
18976 浏览

performance - ORM 解决方案(JPA;Hibernate)与 JDBC

我需要能够在内存 HSQL 数据库中以每 5 秒至少 8000 个对象的一致速率插入/更新对象。

我在 Spring/Hibernate/JPA 和纯 JDBC 之间做了一些比较性能测试。我发现使用 HSQL 在性能上有显着差异。使用 Spring/Hib/JPA,我可以在 5 秒内插入 3000-4000 个 1.5 KB 对象(具有一对多和多对多关系),而直接JDBC 调用我可以插入 10,000-12,000 个相同的对象。

我无法弄清楚为什么会有如此巨大的差异。我已经调整了 Spring/Hib/JPA 设置很多,试图在没有运气的情况下接近性能。我想将 Spring/Hib/JPA 用于未来用途、可扩展性,并且因为外键关系(一对多和多对多)难以手动维护;但性能要求似乎指向使用纯 JDBC。

关于为什么会有如此巨大的差异的任何想法?

0 投票
3 回答
1503 浏览

java - 使用带注释的 Hibernate 配置 Compass

我正在将 Hibernate 用于基于 Java 的 Web 应用程序,并希望通过 Compass 添加全文搜索。Compass 应该支持这一点,但未能提供任何有用的入门指南。

我可以弄清楚我必须用@Searchable 和各种@SearchableXXX 变体注释我的实体,并通过HibernateHelper.getCompass(sessionFactory) 在我的服务代码中访问Compass。

我最终得到一个 HibernateException 说“未配置指南针事件侦听器,请检查参考文档和应用程序的 hibernate.cfg.xml”。

参考文档再次提示和 hibernate.cfg.xml,而我用 Spring 的 AnnotationSessionFactoryBean 配置 Hibernate。对于这种情况,文档中提到:“如果使用 Hibernate Annotations 或 Hibernate EntityManager (JPA),只需将 Compass jar 文件放到类路径中即可启用它(确保类路径中没有 Hibernate Search,因为它使用相同的事件类名称)。” 这对我不起作用。

我缺少什么想法或入门的好资源?

0 投票
10 回答
439146 浏览

java - 类型安全:未经检查的演员表

在我的 spring 应用程序上下文文件中,我有类似的内容:

在 java 类中,实现如下所示:

在 Eclipse 中,我看到一条警告说:

类型安全:从 Object 到 HashMap<String,String> 的未经检查的强制转换

什么地方出了错?

0 投票
3 回答
7778 浏览

java - 您是否已经尝试过 Spring Workflow?

Spring Workflow现已发布。

  • 你试过了吗?适合什么样的场景?
  • 你的印象是什么?您如何发现它与其他工作流库相比?
  • 找到任何好的文档或教程?
0 投票
5 回答
12372 浏览

hibernate - 弹簧配置错误

我的 spring-context 文件如下所示。

当我尝试运行我的应用程序时,我收到以下错误:

有人可以告诉我我做错了什么吗?

0 投票
9 回答
5890 浏览

java - 使用 JBoss 和 Spring 在 Java Web 应用程序之间共享业务对象实例的最佳方式是什么?

我们目前有一个 Web 应用程序加载一个 Spring 应用程序上下文,它实例化一堆业务对象、DAO 对象和 Hibernate。我们希望与另一个 Web 应用程序共享此堆栈,以避免具有相同对象的多个实例。

我们研究了几种方法;使用 JMX 或 JNDI 或使用 EJB3 公开对象。

不同的方法都有自己的问题,我们正在寻找一种轻量级的方法。

关于如何解决这个问题的任何建议?

编辑:我收到了要求我详细说明的评论,所以这里是:

我们要解决的主要问题是我们只想拥有一个 Hibernate 实例。这是由于在运行多个使用相同数据源的客户端应用程序时,Hibernate 的二级缓存失效的问题。此外,业务/DAO/Hibernate 堆栈越来越大,因此不复制它更有意义。

首先,我们试图研究如何单独将业务层暴露给其他 Web 应用程序,Spring 以少量 XML 的价格提供了 JMX 包装。但是,我们无法将 JMX 实体绑定到 JNDI 树,因此我们无法从 Web 应用程序中查找对象。

然后我们尝试将业务层直接绑定到 JNDI。尽管 Spring 没有为此提供任何方法,但使用 JNDITemplate 绑定它们也很简单。但这导致了几个新问题: 1) 安全管理器拒绝访问 RMI 类加载器,因此一旦我们尝试调用 JNDI 资源上的方法,客户端就会失败。2) 一旦安全问题得到解决,JBoss 抛出 IllegalArgumentException: object is not an instance of declaring class。稍微阅读一下就会发现我们需要 JNDI 资源的存根实现,但这似乎很麻烦(也许 Spring 可以帮助我们?)

我们还没有过多地研究 EJB,但是在前两次尝试之后,我想知道我们想要实现的目标是否完全可能。

总结一下我们想要实现的目标:一个 JBoss 实例,几个 Web 应用程序利用 DAO 层和 Hibernate 之上的一组业务对象。

最好的祝福,

尼尔斯

0 投票
2 回答
3776 浏览

java - Spring @Autowireing,如何使用对象工厂来选择实现?

我试图让一段运行时状态决定使用哪个接口实现,最好仅通过自动装配。

我已经尝试为使用动态代理的接口创建一个对象工厂,并且我使用限定符来强制@Autowired 注入使用工厂。限定符是必要的,因为工厂和实现都响应相同的接口。

问题是我最终用@Qualifier 注释了每个@Autowired 引用。我真正想做的是用@NotCandidateForAutowiringByInterface(我的幻想注释)之类的东西来注释非工厂实现,或者更好地让spring在注入到非限定字段时更喜欢单个非限定bean

我可能会在这里完全错误地思考,所以欢迎提出其他建议。有谁知道如何做到这一点?

0 投票
1 回答
5511 浏览

java - 与休眠合并导致脏对象出错

我在我的应用程序中使用 Hibernate 和 Spring。我一直在使用分离的对象,并在需要调用数据库时重新附加它们。我正在使用休眠模板来为我管理连接。

我的数据结构如下:

当我进行以下调用时,可能 classB 或 classC 中的某些项目已更改,我收到错误消息:

我得到的错误是:

有人可以向我解释为什么这会产生错误吗?据我了解,合并应确定树中的哪些对象(如果有)已更改,并更新/删除/插入这些对象,而不是尝试删除和重新插入任何其他对象。但这似乎是试图删除所有 classC 类型的元素并重新插入它们。

0 投票
2 回答
1881 浏览

java - 使用弹簧方法替换的真实商业案例?

Spring IoC 容器为您提供了替换 bean 方法的选项。有人可以提供使用此功能解决现实生活问题的真实生活示例吗?

我可以看到这用于调整旧的遗留代码(无源代码)以与您的应用程序一起使用。但我想我会考虑直接使用遗留代码而不是 Spring 方法替换方法编写一个适配器类。