草庐IT

Spring开发实践

全部标签

java - Spring-ws XML 炸弹保护,有人知道吗?

如果我使用JAXB2un/marshaler...和​​Xalan2.7.1和Xerces,有没有办法保护Spring-WS应用程序免受XML炸弹的攻击,尽管我不再知道谁依赖于什么了:)....基本上我想在整个应用程序中禁用DTD作为模式语言,如果这可以从应用程序上下文xml文件中完成,那就太好了!我想另一个选择是扩展/实现一些类/接口(interface),并更改一些方法,但我不知道在Spring-WS中哪里首先调用了解析器.... 最佳答案 Java解析器通常具有针对实体扩展攻击之类的内置保护:http://download.o

java - 不转义 Spring WS SOAP 主体中的字符

我正在使用Java和Spring-ws构建Web服务。它工作正常,除了一件事。当我组装要放入SOAP主体中的有效负载时,我想包括CDATA转义字符串。这就是我想要的结果:stuff]]>但是,Spring-WS在添加SOAP信封时似乎篡改了有效负载。这是我得到的结果:<myxml>stuff</myxml>有没有办法确保SpringWS不转义XML字符并遵守CDATA标签?我正在将SpringWS与ApacheCamel一起使用,因此我更喜欢不需要更改/扩展spring-ws类的解决方案。 最佳答案 我已经使用MOXy和

java - 使用 Spring-Data-Rest 以 XML 而不是 JSON 的形式返回响应

Spring-data-rest目前是RC1(将于7月16日正式发布),但文档仍然有点粗略。到目前为止,我找到的所有示例代码都显示默认为JSON的响应,但我需要XML,理想情况下是基于ACCEPTheader的XML或JSON。我在somecommentsinaDZonelink中找到了一个来源表示将支持XML。但那是在M2发布期间发布的,在RC1之前。我在项目下的Issue里也没看到什么。那么有人知道如何使RC1(或SNAPSHOT)生成XML而不是JSON或除JSON之外。 最佳答案 我希望有一个在SpringDataREST中

Android XML id 最佳实践

假设我有一个Activity,我从XML文件为其设置了内容View。假设我在Java代码中有一个按钮acceptButton。acceptButton=(Button)findViewById(R.id.acceptBtn);在上面的代码中,Java名称和XMLid是不同的。是否有命名小部件的“最佳实践”或标准?例如,XMLid是否也应该称为acceptButton,而不是acceptBtn?这看起来微不足道,但当其他人给Android名称和XMLid起完全不同的名称时,这让我很恼火。 最佳答案 Google没有关于在xml文件中命

xml - 最佳实践(读取外部数据)

我正在编写一个VisualBasicWindows窗体应用程序,我需要在初始窗体加载时检查大量设置。示例:用户设置我需要快速确定屏幕分辨率、个人应用程序背景颜色和其他一般用户设置以及将填充在初始启动画面上的常用项目。我正在考虑切换到XML文件来存储和加载配置设置。这方面的最佳做法是什么? 最佳答案 我不会为此使用XML文件,因为跨多个用户进行管理会很痛苦。使用该语言的用户设置功能。它还可以帮助您处理多个用户和不同的设置,因为它们将存储在用户的个人资料中。您可以像这样访问设置:Properties.Settings.Default["

java - 具有 XML 配置支持的基于 Spring Java 的 Servlet 容器初始化(web.xml 替代方案)?

我最近想迈出一大步,将所有内容都移至基于Java的配置。到目前为止工作完美。只有一个问题。有一个来自Spring的WebApplicationInitializer接口(interface),它实际上是第一个web.xml替代AFAIK:publicclassMyWebApplicationInitializerimplementsWebApplicationInitializer{@OverridepublicvoidonStartup(ServletContextcontainer){XmlWebApplicationContextappContext=newXmlWebAppli

xml - Spring xml配置启用@Async而不启用@Scheduled

使用Spring的xml配置,如何启用对@Async的扫描注释而不启用@Scheduled扫描注释?通常,您会使用同时启用两者但我试图仅在特定的Spring配置文件处于事件状态时启用调度。使用SpringJavaConfig,可以使用@EnableAsync和@EnableScheduling分别地。我正在维护一个已经存在了几年的项目,它只使用基于xml和注释的配置,我不想将JavaConfig添加到组合中,除非这是唯一的方法。 最佳答案 不使用命名空间,而是手动添加相应的bean。org.springframework.sched

JQuery Mobile、Icon Pack Font Awesome 在 Firefox Mac、IE 中不起作用——即使在开发者网站上也是如此

如果您在IE10或FirefoxMac(最新版本)中检查此链接,您会看到图标未显示:http://andymatthews.net/code/jQuery-Mobile-Icon-Pack/这是JQM1.4.0包的最新版本。至少在Firefox中,问题似乎归结为XMLParsingError...unclosedtoken。我不知道这意味着什么或如何解决它。XMLParsingError:unclosedtokenLocation:data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding

java - 基于另一个 bean 的 Spring Conditional Bean 创建

我正在尝试使用Spring3.2和XML配置找到一种仅在另一个bean/属性的值为true时才创建bean的方法。.....createsomebeans我见过一些使用SpringEL的稍微类似的例子,但没有一个是完全这样的…… 最佳答案 您可以使用配置文件。一个人可以同时激活多个配置文件或选择不激活任何配置文件。要激活有多种方法,但要以编程方式执行此操作,我们需要在web.xml中添加一个初始化程序contextInitializerClassescom.test.MyCustomInitializerMyCustomInitia

java - 没有 jpa 的 Spring 和 Hibernate

对于我的新项目,我计划使用Hibernate5和Spring4,并且一如既往地喜欢分成不同的层/项目。Gradle依赖项:"org.springframework:spring-webmvc:4.2.1.RELEASE","org.springframework:spring-orm:4.2.1.RELEASE",'org.hibernate:hibernate-core:5.0.2.Final','mysql:mysql-connector-java:5.1.36'有一个API项目,其中包含一个User.class。在我看来,这个用户类不能对数据库层使用任何注释。它不得指定@Tabl