问题标签 [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.
java - 如何嵌套 Spring JMS MessageConverters
我想编写一个可以包装另一个 MessageConverter 的 MessageConverter 类。此 MessageConverter 将调用子转换器,假定它生成一个 TextMessage。它将获取有效负载并 GZIP 压缩它,创建一个 BytesMessage 最终返回给发送者。
问题出在 fromMessage() 中。我可以将有效负载转换回字符串,但随后我想创建一个“虚拟”TextMessage 将字符串填充到然后传递给子 MessageConverter 的 fromMessage() 方法。在那里我碰壁了,因为我无法在没有 JMS 会话对象的情况下创建 TextMessage,而且似乎根本无法在这种情况下获得会话。
我可以创建额外的属性来将更多的东西连接到这个类,但看起来我什至不能轻松地从 JMSTemplate 对象获取会话,而且我无法想象我还需要什么。
我即将在此代码中创建一个私有 TextMessage 实现,只是为了为子 MessageConverter 包装一个字符串。该类将需要大量的虚拟方法来充实界面,所有这些打字都会让婴儿耶稣哭泣。
任何人都可以提出更好的方法吗?
spring - 是否可以部分自动装配弹簧豆?
我想部分地自动装配一个 bean - 也就是说,我希望一些 args 被自动装配,但其他的被显式设置。例如:
public MyClient(Service svc, boolean b)
在这个构造函数的情况下,我想在我的 xml 中指定 b 的值,但是让 svc 自动装配。那可能吗?
谢谢,洛厄尔
spring - BeanFactory 与 ApplicationContext
我对 Spring 框架还很陌生,我一直在使用它并将一些示例应用程序放在一起,以评估 Spring MVC 以用于即将到来的公司项目。到目前为止,我真的很喜欢我在 Spring MVC 中看到的东西,看起来很容易使用,并鼓励你编写对单元测试非常友好的类。
作为一个练习,我正在为我的一个示例/测试项目编写一个主要方法。我不清楚的一件事是BeanFactory
和之间的确切区别ApplicationContext
- 适合在哪些条件下使用?
我理解ApplicationContext
extends BeanFactory
,但如果我只是写一个简单的 main 方法,我需要ApplicationContext
提供的额外功能吗?究竟提供了什么样的额外功能ApplicationContext
?
除了回答“我应该在 main() 方法中使用哪个”之外,关于在这种情况下我应该使用哪种实现,是否有任何标准或指南?我的 main() 方法是否应该被编写为依赖于 XML 格式的 bean/应用程序配置 - 这是一个安全的假设,还是我将用户锁定在特定的东西上?
这个答案在 Web 环境中是否会发生变化 - 如果我的任何课程需要了解 Spring,他们是否更有可能需要ApplicationContext
?
谢谢你的帮助。我知道很多这些问题可能在参考手册中得到了解答,但是如果没有用细齿梳通读手册,我很难找到这两个接口的明确细分以及每个接口的优缺点。
java - 是什么导致使用spring,tomcat和hibernate发生重复请求
我正在使用 spring 框架、hibernate 和 tomcat 开发一个 Java 项目。
背景:我有一个表单页面,它获取数据、验证、处理数据,并最终使用 hibernate 持久化数据。在处理数据时,我会在使用休眠之前进行一些特殊的命令(模型)操作。
问题:由于某种原因,我的 onSubmit 方法被调用了两次,第一次通过事情被正确处理。但是第二次不是;并且不正确的信息被保留。
我还注意到,在其他页面上,这些页面只是从数据库中提取信息并显示在屏幕上;那里也发生了双重请求。
有什么配置错误吗,我没有正确使用弹簧..对此有任何帮助都会很棒!
附加信息:
该应用程序仍在开发中。在测试应用程序时,我遇到了这个问题。我正在使用该应用程序,因为我希望它会被使用(单击,有效数据等......)
java - 休眠事务问题
我们使用带有 OpenSessionInView 过滤器的 Hibernate Spring MVC。这是我们遇到的一个问题(伪代码)
我们遇到的问题是,如果验证失败 foo 在休眠会话中被标记为“脏”(因为我们使用 OpenSessionInView,我们在整个 http 请求中只有一个会话),当我们加载表单支持对象时(比如一些实体的列表使用HQL 查询),在执行查询之前休眠检查会话中是否有脏对象,它看到 foo 是并刷新它,当事务 2 提交时,更新被写入数据库。问题是即使它是一个只读事务并且即使 foo 在事务 2 中没有更新,hibernate 也不知道哪个对象在哪个事务中更新,并且不只刷新该事务中的对象。有什么建议么?以前有人遇到过类似的问题吗
更新:这篇文章进一步阐明了这个问题:http ://brian.pontarelli.com/2007/04/03/hibernate-pitfalls-part-2/
java - 正在加载重复的弹簧配置?
我正在查看由tomcat加载的spring的输出,并且有一些非常奇怪的东西......一切都是重复的。什么会导致这个?不管是什么,它都会导致我的应用程序以奇怪的方式运行。
附加信息:
该应用程序是一个网络应用程序。所有 spring 信息都使用 web.xml 文件中定义的上下文加载器(?)加载。我的配置文件分为 6 个(左右)文件。
示例调试输出:
[DEBUG,DefaultFilterInvocationDefinitionSource,main] 添加 URL 模式:/
**
;属性:[REQUIRES_SECURE_CHANNEL][DEBUG,DefaultFilterInvocationDefinitionSource,main] 添加 URL 模式:/
**
;属性:[REQUIRES_SECURE_CHANNEL][DEBUG,DefaultFilterInvocationDefinitionSource,main] 添加 URL 模式:/
**
;属性:[ROLE_READ,ROLE_UPDATE][DEBUG,DefaultFilterInvocationDefinitionSource,main] 添加 URL 模式:/
**
;属性:[ROLE_READ,ROLE_UPDATE][DEBUG,AbstractFallbackMethodDefinitionSource,main] 添加安全方法 [CacheKey[com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String) throws org.springframework.dao.DataAccessException]] 带有属性 [[ROLE_UPDATE]]
[DEBUG,AbstractFallbackMethodDefinitionSource,main] 添加安全方法 [CacheKey[com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String) throws org.springframework.dao.DataAccessException]] 带有属性 [[ROLE_UPDATE]]
[INFO,AbstractSecurityInterceptor,main] 验证的配置属性
[INFO,AbstractSecurityInterceptor,main] 验证的配置属性
java - 使用 Spring Security 时,在 bean 中获取当前用户名(即 SecurityContext)信息的正确方法是什么?
我有一个使用 Spring Security 的 Spring MVC Web 应用程序。我想知道当前登录用户的用户名。我正在使用下面给出的代码片段。这是公认的方式吗?
我不喜欢在这个控制器中调用静态方法——这违背了 Spring 的全部目的,恕我直言。有没有办法将应用程序配置为注入当前的 SecurityContext 或当前的身份验证?
java - 使用 spring 分离测试和数据有什么缺点吗?
我一直在努力想出一个好的解决方案来将我的测试数据与单元测试(硬编码值)分开。直到我意识到我可以用 spring 创建 bean 并使用这些 bean 来保存我的数据。
以这种方式编码我的单元测试有什么缺点吗?尽管它们运行得有点慢,因为 Spring 必须配置所有 bean 以及什么不是。
java - 弹簧和接口
我到处阅读有关 Spring 如何鼓励您在代码中使用接口的信息。我没看到。spring xml 配置中没有接口的概念。Spring 的哪一部分实际上鼓励您使用接口(除了文档)?
hibernate - Spring & Hibernate EJB 事件
是否可以定义一个弹簧管理的 EJB3 休眠监听器?
我的persistence.xml中有这个定义:
但我想管理HibernateAuditInterceptor
和HibernateAuditTrailEventListener
使用 spring,所以我可以在这些类中做一些 bean 注入(例如:会话范围的 bean)。这可能吗?