我有一个使用Java开发的瘦客户机。我的瘦客户端需要连接到Web Server,以便:
瘦客户端永远不会直接连接到数据库。在网上阅读和讨论后,我得到了以下突出显示的技巧:
我需要的是:
使用的技术:
发布于 2013-10-29 16:13:13
我在工作中一直在做类似的事情。这就是我们要做的事情。
我们有一个Web客户端,与您的瘦客户机不同,它需要后端数据库中的信息。它通过访问JSON服务来实现这一点,该服务将进行数据库调用并将信息返回给RESTful包中的客户端。
使用的工具:
所有这些工具都能很好地协同开发web服务。Roo允许快速开发和简单的方法将项目的所有元素结合在一起。它不仅适用于SqlServer、hibernate和Tomcat,而且不需要IDE (有内置的GUI ),但它依赖于Maven。我绝对喜欢。它大部分的魔力都是使用AspectJ的,但是一旦您通过了AspectJ的神秘性,它就变得非常直观。
以下是Roo的一个很好的教程:http://docs.spring.io/spring-roo/reference/html/beginning.html
希望这能帮上忙!
编辑:这是Roo与hibernate一起创建的存储库。
域实体:
@RooJavaBean
@RooToString
@RooJpaEntity(table = "Example")
@RooJson
public class Example {
private String name = "default";
public Example(String name){
this.name = name;
}
}
储存库:
package com.example.repositories;
import org.springframework.roo.addon.layers.repository.jpa.RooJpaRepository;
@RooJpaRepository(domainType = Example.class)
public interface ExampleRepository {
}
有了这些之后,就创建了一个Controller类,它能够执行HTTP请求,如下所示:
@RooWebJson(jsonObject = Example.class)
@Controller
@RequestMapping("/example/")
public class ExampleController {
@Resource
ExampleRepository exampleRepo;
@RequestMapping(method = RequestMethod.PUT, value ="/{name}")
public void putExample(@PathVariable("name") String name) {
exampleRepo.save(new Example(name));
}
}
调用方法putExample()
是通过向"http://{host}/example/somename"“发送Htpp PUT请求来完成的。RequestMapping还有更多的选项,例如请求中包含的特定标题。来自请求的JSON/xml也可以传递给服务,供方法使用。
添加新的查询可以这样做:
@Query("select * from Example e where e.name = ?1)
List<Example> getAllByName(String name);
将此方法添加到存储库类将为您提供一个新的Sql查询。注意:查询是用JPA语言编写的。这是一种冬眠的方式。
这里有一些与RESTful服务相关的约定。例如,Http和POST只用于执行Sql更新或插入查询,Http GET用于Sql SELECT,Http DELETE用于Sql DELETE等,但这取决于web服务设计器。
我应该澄清,Roo是一个快速应用程序开发(RAD)工具包。它可以用于原型应用程序。您将需要做一些编程,但它将减少。
如果这有助于澄清问题,请告诉我!
https://stackoverflow.com/questions/19662582
复制相似问题