Spring和Web服务

时间:2013-10-01 13:43:57

标签: java spring jersey jackson

我想用spring制作一个网络服务。容易一点,有点让它变得更复杂。目前我与Symphony2和Mongodb具有相同的逻辑,这个想法通过一个Web服务每秒有很多请求。

重点是将php中的实际代码迁移到Java,我想用spring来实现。直到我理解我可以安装的REST服务:

  • 球衣
  • 直接使用spring MVC
  • 杰克逊

哪一个是最好的,更实际,更快,更容易......?在其他网站中,我试图使用我的实际数据库(Mongo)和Hibernate但我遇到了几个问题。那么,我的问题是,我应该选择其他数据库吗?我应该删除Hibernate吗? hibernate如何惩罚延迟我的意思是如果我使用或不使用hibernate,我会丢失多少时间。如果您使用Doctrine或不使用Doctrine(在PHP中或多或少“hibernate = Doctrine”),那么从您将请求发送到Web服务的时间就会有所不同,您可以从中获得答案。

我终于使用了hibernate db:

  • MySQL的
  • 的PostgreSQL
  • 甲骨文

这个想法是制作一个与股票市场相关的项目,因此在数据库中同时进行了大量的货币变化和新的插入,更新和选择。当更接近“实时”更好。

感谢您的帮助!我很抱歉问题我更多的是男孩试图改变为java :))

1 个答案:

答案 0 :(得分:1)

不是真正的问题,但如果是我和Spring是一个固定的要求:

我首先通过Spring BootSpring Roo设置一个Spring应用程序,添加一些控制器并通过Jackson JSON processor发送JSON(这与Spring很好地集成)和使用Spring Data将我的数据推送到Redis,即内存存储(Spring Data Redis)。您将不得不关心持久性,但可能会不时地异步执行(例如使用Spring Data MongoDB)。如果这些控制器映射不足以满足您的使用需求并且您真的想要使用REST,那么还有一个Spring Data REST子项目将您的数据公开为“RESTful端点”。这应该与存储/持久层很好地集成(我自己从未使用过它)。

不太了解Hibernate的惩罚,我认为这是你应该自己衡量的。但是,保持设置尽可能简单总是一个好主意,所以尝试在没有Hibernate的情况下启动。当然,如果您想/需要/应该使用ORM,它很大程度上取决于您的数据。说到简单:没有什么比这简单,你已经有很多库和依赖。这些天似乎有一个Spring项目,但我对所有Spring Data项目的成熟度一无所知。

一般情况下(理论上):如果使用正确的抽象,如果需要,您应该可以在以后迁移到不同的持久性提供程序,因为测量的性能瓶颈。