草庐IT

Spring、SpringMVC和SpringBoot的关系

全部标签

java - 如何在 Maven 中处理子项目的依赖关系

我的项目由5个子项目组成。一个是war,另外4个是jar。基本上,war项目需要所有4个jar项目及其依赖项。我可以剥离依赖关系以获得类似war->A->B->C->D的东西。每个子项目都添加了它们的外部依赖项(spring、struts、hibernate),以便最终war获得运行所需的一切。这看起来组织得很好而且方正,但后来我问自己这是否非常适合进行更改。假设我必须更改项目D中的一行代码,而不更改其Maven依赖项的任何内容。显然,我将不得不重新发布项目D,但随后我必须重新发布项目C、B、A和war,只是为了在它们的pom文件中反射(reflect)这一变化。这可能会很长且烦人,尤

java - 如何告诉 Apache CXF 在 Spring 配置中使用 java.util.Date

我正在使用CXF来托管Web服务在Spring上下文中,这使得JAX-WS成为默认绑定(bind)。我正在使用Java-First,这意味着带注释的端点接口(interface)和类。由于JAX-WS的默认绑定(bind)使用XMLGregorianCalendar类作为日期,当我调用我的Web服务传递java.util.Date时,它被转换为服务器上的XMLGregorianCalendar。有很多帖子和文档介绍如何更改它以将日期值绑定(bind)到java.util.Date,但都与wsdl2java工具相关,例如:因为我使用的是Spring,所以我正在寻找一种在Spring上下文

java - spring 中默认的 hibernate session 控制行为是什么?

我有一个使用spring和hibernate的3层应用程序(Controller->服务->dao),事务应用于服务层。我没有配置OpenSessionInViewInterceptor或OpenSessionInViewFilter,我想知道hibernatesession控制行为。每个事务或每个请求打开session?谢谢! 最佳答案 如果您使用的是HibernateTransactionManager,Session将绑定(bind)到当前线程,并在事务结束时通过提交或回滚刷新和关闭。另见10.Transactionmanag

java - 如何在不使用 Spring/JPA/Hibernate 的情况下传递 JDBC 连接

我们有一个JavaJ2EE应用程序,它为每个数据库行插入/更新使用单独的Web服务调用。事实证明这太慢了。他们让我来“快速”修复它。我计划将所有Web服务调用转换为纯JDBC。为此,我需要从池中获取JDBC连接,然后以多种不同的方法使用它。我需要在多个DAO中使用相同的JDBC连接,将它们串在一起形成一个数据库事务。我可以明确地将JDBC连接传递给需要它的每个DAO,但这需要我更改很多方法签名,再加上很多单元测试(这与“快速”部分背道而驰)。我正在尝试想出一个好方法,将JDBC连接放在某个地方,然后只需在需要它的方法中获取它,而不必在任何地方显式地传递它。我们不能在这个项目上使用Spr

java - 使用 Maven 创建两个独立的 jar,没有依赖关系,只有依赖关系

Maven能否在一个pom.xml中创建两个指定的jar:一个jar包含我的应用程序但没有依赖项,第二个jar仅包含依赖项?我想要两个单独的jar,但我想用我的应用程序运行jar,并且这个应用程序必须“查看”第二个jar中的所有依赖项。我想在一个eclipse项目中拥有的一切,只是运行一次mvn:package的结果,我想创建单独的jar...这可能吗?现在我使用maven-jar-plugin与应用程序一起创建jar,我通过在maven-jar-plugin配置中添加行来指定类路径:true之前我使用maven-assebly-plugin创建jar-with-dependencie

java - Hibernate、Spring、@Transactional - 围绕 try/catch?

我正在使用Spring3和Hibernate3.6开发一个网络应用程序。我对@Transactional注释和代码结构有一些疑问。->当我使用@Transactional(使用Spring进行事务管理)时,是否必须在调用它们时使用try/catch包围@Transactional注释的方法?例如,当我得到一个加载、更改并返回一个对象的方法时,我从另一个类调用它:我是否必须用try/catch包围调用?也许出了什么问题,没有返回对象,数据库连接失败..我不知道。直到现在,我认为@Transactional关心所有可能发生的异常,并在发生错误时回滚此事务中的每个操作。但如果它发生了,我必须

java - 从自定义 logback appender 使用 Spring?

我们使用Spring来获取我们所有的JDBC连接以及持久性框架的一部分。但是,为了编写我们自己的自定义DBAppender(它必须是自定义的,因为由于表名标准,我们不允许使用默认的DBAppender)。此时如何从CustomAppender内部获取对springbean的引用/使用Autowiring?我更愿意留在spring中而不是使用普通的JDBC。自定义附加程序:importch.qos.logback.classic.spi.ILoggingEvent;importch.qos.logback.core.AppenderBase;publicclassCustomDBAppe

java - 构造函数参数的 Spring p 命名空间?

有没有等同于pnamespace的对于Spring中的构造函数参数?我很乐意缩短XML:) 最佳答案 不,在3.1之前没有等效的构造函数注入(inject),但您可以考虑autowiringtheconstructorinyourXML像这样:通过Autowiring,您不必在此处指定单独的构造函数参数,因为spring会解决它们,只需确保每种类型只有一个bean,否则spring将无法Autowiring它们。编辑:如@gkamal所述,从spring3.1开始,您可以使用cnamespaceforconstructorinjec

java - 在 Spring WebFlow 2.0 的 jsp 中显示信息消息

我有一个包含所选主题列表的模型。每个主题都可以在一个房间中展示,并且需要根据可用性选择更多的房间。用户可以设置首选的演示空间。如果它不可用,但其他一些可用,则在选定的时间应该有一条信息消息表明房间已更改。像这样的东西:loop是c:foreach标签中的一个varStatus属性我像这样将消息添加到messageContext:MessageContextmessages=context.getMessageContext();Stringsource="selectedTopics["+i+"].room";messages.addMessage(newMessageBuilder(

java - 将 Spring MVC 的 Controller 与 HTTPServlet 解耦

我使用Spring已经有一段时间了,我意识到并非我的应用程序中收到的所有传入请求都是基于HTTP的。一些请求是基于电子邮件的,并且需要基于电子邮件的响应,其他请求是基于套接字的(当我的NOSQL存储中的值发生变化时接收通知)。尽管它们都或多或少地使用相同的MVC基础设施。因此,我认为重新构建应用程序以消除Controller与HTTP基础设施之间的耦合可能会有所帮助。调度程序不应再直接调用Controller方法,而是提取请求参数,并使用它们创建抽象消息(或事件),然后将其放在消息总线上。另一方面,每个Controller都会为不同的事件订阅其Action(Action类的实例-命令模