问题标签 [spring-4]
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 - 如何将spring4与spring security3.2.3集成
我使用与 Spring4 应用程序集成的 Struts2,我已经成功集成了 spring4 和 struts2,但我还需要集成 spring security。所以我使用了 Spring-security-config/core 和 web 3.2.3 jar。但我只面临一个例外,那就是
我的 web.xml 是
和 applicationcontext-security 是
请帮助我将 spring4 与 spring security 3.2.3 集成。 使用的其他jar文件
提前致谢...
java - Spring自动装配参数化泛型类型
Spring 4 包括对泛型类型解析的主要增强,但是当类型参数在包含的 bean 类上参数化时,我无法自动装配泛型类型。
我需要跟踪提交给外部服务的作业的状态,并且我想在每个作业启动时为其创建一个条目,并在收到回发时清除或更新它。我通常会尝试将我的持久化策略与服务接口分开,所以我有一个接口JobStatus
和一个 Spring Data Mongo 类MongoJobStatus implements JobStatus
。由于在外部服务有机会为其分配 ID(例如,HTTP 502)之前,作业可能会失败,因此我需要将JobStatus
回传给服务以识别更新:
因此,我的 Spring 控制器处理启动作业和记录回发看起来像这样;控制器类带有一个类型参数,以便我可以存储新的状态对象并将其传递回服务:
我的 MongoDB 支持的实现如下所示:
当我尝试启动时,Spring 上下文因NoSuchBeanDefinitionException
for失败JobStatusService
。我已经确认,如果我设置required=false
,MongoJobStatusService
bean 会被正确地组件扫描并安装在上下文中,但 Spring 似乎无法理解该类实现了该参数化的通用接口。
有什么方法可以向 Spring 指定我需要一个实现泛型接口的 bean,该接口具有在包含 bean 级别参数化的类型参数,而不是作为字段级别的文字类型参数嵌入?
java - Spring 4 Jar 覆盖 Servlet 3 Api
我正在尝试以编程方式而不是使用 xml 文件配置我最新的 Spring 应用程序。但是,我遇到了一个问题,当我导入 spring-webmvc-4.0.3.RELEASE jar 时,编译器不再使用 Servlet 3 api。
我需要访问以下方法: ServletContext.addListener(java.lang.Class listenerClass)
和
ServletContext.addServlet(java.lang.String servletName, java.lang.Class servletClass)
但我还需要能够使用像 DispatcherServlet 这样的 spring mvc 类。
这是 Spring 4 的一个已知错误吗?有人知道它的任何解决方案吗?
java - 如何使用 Spring Boot 将使用 Postgresql 的 Spring 应用程序部署到 Heroku?
我正在评估 Heroku 上的 Spring 4,到目前为止,我对两者都印象深刻。
但是,我无法让我的 Spring Boot 应用程序在 Heroku 上运行。一切正常,除了 Postgresql (我只是得到Connection Refused
错误)。
问题肯定与我的设置方式有关,DataSource
但到目前为止,我一直在遵循试错法!我不确定我应该如何从 Heroku 设置数据源DATABASE_URL
,我找不到任何示例。
我通过在谷歌上搜索偶然发现了spring-cloudDATABASE_URL
,它看起来很有希望,但它没有解释任何关于. 此外,Spring.IO 甚至都没有提到它,所以我想知道它是否甚至是生产使用的一个选项?
java - Spring 4.0 与 Java JDK 版本 7 的兼容性
我们的团队计划从 Java 6 迁移到 Java 7,从 Spring 3.x 迁移到 Spring 4.0。
我的问题是 Spring 4.0 为 Java 7 调整了多少。我在网上发现 Spring 4.0 已经为 Java 8 做好了准备,但没有专门针对 Java 7。
java - 如何使用以编程方式创建的父上下文在嵌入式 Servlet 3 环境中创建基于 Spring(4) XML 的 WebApplicationContext?
我喜欢在嵌入式 Tomcat 8 容器中使用WebApplicationInitializer创建 Spring WebApplicationContext ,并且还希望为此 WebApplicationContext提供父上下文。
我在我的代码中所做的是:
比我创建一个 Tomcat 8 实例:
所以我正在寻找WebApplicationInitializer的实现:
我不想在 web.xml 中使用经典的ContextLoaderListener在 Tomcat 启动时创建 WebAppContext(即使告诉加载器使用预先构建的提供的上下文作为新上下文的父级也会很有趣)
我也不想使用:
我也不想使用AnnotationConfigWebApplicationContext使用注释驱动的方法。
我也不想在我的 WebAppContext 中使用导入技巧来导入 XML 定义。
使用的技术:Spring 4.0.3、Tomcat 8、Java 8SE
任何建议如何实现我的WebApplicationInitializer的 onStartup(...) 方法?我看了看Spring 的解释,没有帮助我。请提供具体的工作代码。
谢谢,
java - 如何加载持久的 Hibernate 实体以进行绑定,以免丢失非表单属性?
我正在使用 Spring 4 和 Hibernate 4。我遇到了很多其他人都遇到的问题。我希望我的 Spring 表单只编辑实体的某些属性,而不是全部。
默认情况下,如果我加载一个持久化实体,在表单中显示它的一些属性以进行编辑,将其发布到我的控制器并保存......任何未包含在表单中的属性值都会丢失。我确实理解为什么会发生这种情况,并且我知道那里有一些解决方案。
1)在保存时,从数据库加载实体,只从模型中复制你想要的属性,保存。
2)当表单启动时,加载实体并使用@SessionAttributes 功能将其存储在请求之间的会话中。
但我不喜欢其中任何一个。也许我遗漏了一些东西,但解决方案似乎相当简单。在某处,默认的 Spring web binder 正在创建实体的实例以将表单属性复制到其中。如果我可以覆盖它并使用 ID 从数据库加载持久化实体,然后让 Spring 的绑定将其用作目标实体(仅复制随表单提交的属性,而其他属性保持不变)......那么我认为会解决我的问题。
我一直在寻找如何/在哪里可以使用自定义 WebDataBinder 类。我不知道如何......而且我什至不确定这是否是我应该寻找的地方。
有什么建议么?
谢谢!!
编辑:
我将举一个假设的例子来试图更好地解释我的问题。假设我有一个实体类 Customer,它有 50 个属性。我有一个仅用于更新联系信息的表格。这只是 50 个属性中的 5 个。
街道
城市
状态
邮编
电话
如果我这样做是在 Spring 表单中,当提交表单以保存时,Spring 会创建一个新的“空白”实体,使用表单中的值填充它并将其传递给我的控制器......这就是保存的内容。问题是,由于其他属性,如 firstName、lastName、customerType 等,没有包含在表单中,Spring 将它们单独放置并且它们保持为空。当我告诉 Hibernate 使用 Spring 提供的实体更新实体时,Hibernate 认为我希望 firstName、lastName 等为空,因为这些是我在 bean 中提供的值。它不知道我只改变了其中的几个。
那么会发生什么?我的 50 个房产价值中有 45 个被吹走了。
在下面的评论中,Sp00m 提出了一个可行的解决方案……在隐藏字段中包含所有其他属性。但由于各种原因,这个解决方案让我非常头疼。
如果我可以让 Spring 从数据库中加载实体(而不是创建一个新的/空白实体),然后只填充那些与表单一起提交的字段。我相信这会解决我的问题。
可以在此处找到类似的讨论(但使用隐藏字段解决方案).. http://www.coderanch.com/t/529490/Spring/Spring-MVC-Hibernate-Update-column
java - Why Spring(4) mvc:default-servlet-handler overrides controller mapping?
i am starting an embedded Tomcat 8 and bootstrap the spring application context using an implementation of the WebApplicationInitializer interface. This implementation also add's a DispatcherServlet to the Tomcat Servlet Context, my code:
ass seen in the spring documentation.
somewhere i do:
which than triggers the method seen above. Works fine.
The context defintion looks like the following:
My Controller:
When i try to open the ready method in my browser it says 404 Not Found. When i remove the mvc:resources mappings than suddenly it works. I tryed to add an Order annotation to the controller and also an order attribute to the mvc:resources mapping but it didnt work.
Anyone has seen a solution to this?
i used: Java8, Embeddded Tomcat8, Spring4
EDIT: added logfile output
Here the log output with added mvc:resources tag in context:
if i remove the mvc:resources tags from teh context file the reuqest works and the log output looks like this:
EDIT: if i remove the mvc:resources tag and instead use the mvc:default-servlet-handler tag i get the same result, request not working.
java - 如何在 Spring(4) 上下文中为 HSQL 配置 Hikari CP?
我想在我的 Spring 4.0.3 上下文中使用Hikari CP,但似乎我遗漏了一些东西。
我的 bean 配置如下所示:
但我得到一个例外:
我尝试使用 HSQL org.hsqldb.jdbc.JDBCDataSource配置 dataSourceClassName
那样:
也是这样:
两次我都有以下异常:
有人可以向我展示一个与 HSQL DB 一起工作的Hikari CP Spring 4 bean 配置吗?
我对 MySql、PG 等不感兴趣,因为我知道如何让它们工作。但我无法用 HSQL 完成它。
谢谢,
使用的技术:Java8、Spring 4.0.3、HSQL 2.3.2
jsf-2.2 - Spring 4.1 会支持 JSF 2.2 吗?
前段时间我听到一个谣言说 Spring 4.1 将支持 JSF 2.2。特别是,SpringBeanFacesELResolver 将能够创建视图范围的控制器 bean。Spring 3 只支持应用范围、请求范围和会话范围。据我所知,Spring 4.0 支持相同的范围。
不幸的是,我没有找到关于 Spring 4.1 和 JSF 2.2 的参考资料(除了我自己的网站,我提到我听说过谣言)。是否有关于 Spring 4.1 和 JSF 2.2 的计划?
顺便说一句:我知道在处理 Spring 和 JSF 的 StackOverflow 上有几个问题。我的问题有所不同,因为它专门针对 Spring 4.1,并且与原生 Spring 支持有关。特别是,它不是关于如何自己实现 ViewScope。