草庐IT

Spring框架的优缺点

全部标签

java - Spring Project中读取和解析xml文件

我想在spring项目中解析xml文件。谁能为此提供指导?此xml文件将用于加载需要为每个jsf页面验证的各种字段。我想使用此xml通过文档构建工厂或spring中存在的任何通用函数来读取DocumentBuilderFactorydbFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdBuilder=dbFactory.newDocumentBuilder();Documentdoc=dBuilder.parse(fXmlFile);我想针对此xml中定义的特定值验证页面。所以我需要解析这个xml文件,就像我们在使

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中

c# - configSection 与纯 xml 的优点/缺点?

在asp.net项目中实现自定义配置部分似乎增加了很多复杂性、额外工作和额外文件。话虽这么说,与仅从xml文件(或其他来源)中读取配置信息相比,是什么值得这样做?它的性能更高吗?这是最佳做法吗? 最佳答案 因为您可以创建一个“对象”来保存值(来自自定义配置)而不是一堆不相交的标量。它还允许配置值在单独的文件中提供帮助(我非常喜欢这个技巧)。也就是,我将所有SmtpSettings放在一个〜单独的SmtpSettings.config文件中。我让“app.config”或“web.config”更精简,我不会不小心覆盖值。附言如果您以

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

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

java - Spring:根据 XSD 模式验证 REST Controller

目前我有带有以下代码的RestControllerpackagebe.smartask.api;importbe.smartask.api.model.NumberValue;importbe.smartask.api.model.TextValue;importbe.smartask.api.model.Translations;importorg.springframework.http.HttpStatus;importorg.springframework.http.ResponseEntity;importorg.springframework.web.bind.annota