草庐IT

conditionally-defining-spring-bea

全部标签

java - Spring依赖注入(inject),使用@Named还是@Resource?

在Spring中有两个单独的注解可以通过名称执行依赖注入(inject),javax.annotation.Resource和javax.inject.Named。documentationatSpring指示@Resource应该用于按名称注入(inject):Ifyouintendtoexpressannotation-driveninjectionbyname,donotprimarilyuse@Autowired,evenifistechnicallycapableofreferringtoabeannamethrough@Qualifiervalues.Instead,use

java - Spring EL : Safe navigation with map access

我正在使用SpringEL从一组相当复杂的嵌套映射和列表中提取值。我希望能够使用这样的表达式[9]['firstSubKey']['secondSubKey']除了[9]['firstSubKey']可能为空。我不知道如何正确使用安全导航:我试过了[9]['firstSubKey']?['secondSubKey']和[9]['firstSubKey']?.['secondSubKey']并且都返回了某种解析错误。我最终通过使用让它工作[9]['firstSubKey']?.get('secondSubKey')但这感觉很俗气。有没有更好的方法或者这只是SpringEL没有的功能?我正

java - Spring Batch - 集群环境 - 故障转移机制

问题:springbatch最支持的failover策略是什么?必须关注资源使用,故障转移机制。有什么建议吗?用例-必须运行Spring批处理以从服务器读取文件(将由另一个应用程序放在服务器上)并处理它。环境是集群的。因此,可能有多个服务器实例会触发批处理作业,以在到达时尝试读取同一文件。我的想法:可以进行轮询以检查文件是否到达并调用spring批处理作业。由于它是集群的,我们可以使用主动/被动策略来轮询。也可以使用其他类型,例如循环法或时间片。如果我不清楚,请原谅我。如果有什么不清楚,我可以解释。 最佳答案 据我了解http://

java - 处理 Spring/Tomcat 初始化失败

目前,如果我们在Tomcat上托管的Spring应用程序的数据库不可用,则上下文初始化失败并且所有请求都返回404。克服这个问题的好方法是什么?我希望应用程序在下一个Tomcat之前不可用,而不是在不可用时向用户显示错误消息,并在数据库可用时自动恢复(就像在Tomcat已经运行时发生数据库故障一样)。我可以将所有bean设置为lazy-init,但我不确定这是最好的解决方案吗?Tomcat不能每x秒/请求重试一次初始化并同时显示一个像样的错误页面吗?对此有什么想法吗?数据库不可用时启动时抛出的错误示例:Causedby:java.sql.SQLException:Connections

java - Spring 3 AJAX POST 请求与@RequestBody 和@ModelAttribute 以及@SessionAttribute 一起使用?

有一个JavaspringMVCweb应用程序,并且正在发出一个jqueryajaxpost请求。我的Controller设置为接收和发送json数据。一切正常,JSON字符串格式正确,Controller可以创建并填充一个Command对象,并用JSON请求数据的内容填充它。但是,我正在更新联系人对象的数据,而我的JSP表单元素只包含数据库更新所需的所有数据的一个子集。在我对带有表单的JSP页面的初始GET请求中,我从数据库中检索所有必要的数据,填充一个ContactCommand对象,然后将该命令对象绑定(bind)到模型。如果我进行正常的POST提交表单提交,我相信只需将我的命令

java - 使用 Spring 的 REST Api 实现

编写RESTFulapi应用程序的最佳实践之一是添加版本控制。例如:http://my-server/api/v1/getDatahttp://my-server/api/v2/getData我们的应用程序使用Spring框架公开RESTapi。我们将一个类标记为Controller,使用RequestMapping注释将URL映射到一个函数,并添加一些与json对象相互转换的对象。例如:@RequestMapping(method=RequestMethod.POST,value="/api/v1/getData")public@ResponseBodyResponseDataDTO

java - 自定义身份验证过滤器 Spring Security 3.2

对于一个项目,我尝试使用SpringSecurity3.2作为基础安全性。因为这个项目已经启动并运行,所以我已经有了另一个(自己的)安全层。因此,我制作了一个自定义身份验证提供程序来融化安全层。工作正常,直到我还需要进行自定义匿名身份验证(SpringSecurityDocumentation,chapter13)。所以我制作了一个自定义过滤器并删除了原始过滤器:...bean:和teJava类:publicclassSecurityAnonymousAuthenticationFilterextendsGenericFilterBeanimplementsInitializingBe

java - Spring Security 3.2 token 认证

我知道有人问过这个问题,但我无法让它发挥作用。这是我想要完成的:我正在使用SpringSecurity3.2来保护类似REST的服务。没有服务器端session。我没有使用基本身份验证,因为这意味着我需要将用户密码存储在客户端的cookie中。否则,用户将需要在每次刷新/更改页面时登录。我想存储token是较小的邪恶。Web客户端(浏览器、移动应用程序)调用类似REST的URL以使用用户名和密码登录“/login”服务器对用户进行身份验证并将token发送回客户端客户端存储token并在每次api调用时将其添加到http请求header服务器检查token的有效性并相应地发送响应我什至

java - 没有 web.xml 的 Spring 安全自定义身份验证过滤器

使用注释和java配置,我不太清楚如何为spring安全注册一个覆盖的过滤器。我想要实现的是在不显示登录表单的情况下进行自动登录,因为那时用户已经通过身份验证。因此只会读取header参数并使用springsecurity进行授权。这是我正在尝试的简化版本,除了有时会显示登录屏幕外,Spring安全性工作正常。引导BypassLoginFilter是我需要做的一切。另请阅读某处,对于这种行为,应该关闭http自动配置,但不确定如何在纯java配置中实现。SecurityWebApplicationInitializer.javaimportorg.springframework.sec

java - 如何通过spring 4 resttemplate发送接收到的jsessionid

我正在用客户端站点上的JavaFX和Spring4和服务器站点上的Spring4编写一个Messenger。我使用spring-security3.2保护服务器。现在我的问题是:我在客户端有一个登录页面,女巫将登录信息发送到spring-security并接收JSESSIONIDcookie。这工作正常但是当我尝试发送带有我的请求的JSESSIONID时,我变成了一个org.springframework.web.client.RestClientException:Couldnotextractresponse:nosuitableHttpMessageConverterfoundf