首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单独的Java Class上使用SpringBoot RestController来查询数据库?

如何在单独的Java Class上使用SpringBoot RestController来查询数据库?
EN

Stack Overflow用户
提问于 2017-01-27 06:49:47
回答 2查看 354关注 0票数 0

我是SpringBoot的新手,所以请随意填写所需的详细信息。

我在一个SpringBoot应用程序中编写了这个Rest Controller,它可以正常工作。我的问题是,如何正确地创建此控制器的实例,以便可以使用它来查询数据库?

我试着做这样的事情,但是一直收到错误。

代码语言:javascript
复制
InventoryController ic = new InventoryController();
System.out.println(ic.getInventory());

我正在努力避免不得不在SpringBoot应用程序本身上进行REST调用的情况。

提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2017-01-27 07:05:16

在控制器上执行数据库调用不被认为是一种好的做法。您可以使用Spring数据存储库,也可以编写利用存储库的服务层代码(执行对数据库的调用)

你可以这样做:

代码语言:javascript
复制
@Service
public class InventoryService {
  @Autowire
  private IInventoryItemRepo inventoryItemRepo;

  @Transactional
  public List<Inventory> getInventories() {
    //other business rules
    return inventoryItemRepo.findAll();
   }
  //some other logic here
}

然后在你的控制器上

代码语言:javascript
复制
    @RestController
    public class InventoryController {

        Logger logger =  LoggerFactory.getLogger(InventoryController.class);

        @Autowired
        private InventoryService inventoryService;
        /**
         * @return all items in inventory
         */
        @HystrixCommand(fallbackMethod="failGood")
        @RequestMapping(value = "/inventory", method = RequestMethod.GET)
        @ResponseBody Iterable<Inventory> getInventory() {
            return inventoryService.findAll();
        }
           ....

    }

如果您希望避免在Spring上执行调用,可以将服务层代码注入执行调用的组件,假设它是用spring在java上编写的。

如果没有,您还可以构建一个Message Queue并将消息发送到那里。

另一种方法是称为Spring Data REST的方法

票数 2
EN

Stack Overflow用户

发布于 2017-01-27 06:58:33

您不能直接使用controller来查询数据库,或者这样做不是一个好的做法。

一个更好的选择是,您可以利用Spring数据存储库,并在您的控制器中@Autowire它。

我通常要做的是创建一个服务类,其中存储库接口是自动连接的。在控制器中,我自动连接服务类

我在以下帖子中的回答可能会为你澄清更多的事情:

Structure of RESTful Service with Java Spring for Beginner

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41884383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档