如何使用 Spring Boot 进行本地简单项目?

Posted

技术标签:

【中文标题】如何使用 Spring Boot 进行本地简单项目?【英文标题】:How to use Spring boot for local simple project? 【发布时间】:2018-08-04 22:58:51 【问题描述】:

这有点傻,但我真的错过了这里的重点。我有一个 Spring Boot 工作应用程序,主应用程序类是

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application 

  public static void main(String[] args) 
    SpringApplication.run(Application.class, args);
  


它来自这个https://github.com/netgloo/spring-boot-samples/tree/master/spring-boot-mysql-springdatajpa-hibernate 伟大而简单的例子。 它有一个用于 http 请求的控制器,上面写着

@RequestMapping("/create")
  @ResponseBody
  public String create(String email, String name) 
    User user = null;
    try 
      user = new User(email, name);
      userDao.save(user);
    
    catch (Exception ex) 
      return "Error creating the user: " + ex.toString();
    
    return "User succesfully created! (id = " + user.getId() + ")";
  

我的问题是,我如何像我的简单本地应用程序一样使用它,并在 main() mwthod 中使用一些逻辑? 我尝试了类似的东西

new UserController().create("test@test.test", "Test User");

但它不起作用,尽管我没有收到任何错误。我只是不需要任何 http 请求/响应。

【问题讨论】:

Spring Boot 是一个用于构建 Web 应用程序的框架。如果您不需要构建 Web 应用程序,为什么还要使用它? @yole 它不是专门用于 Web 服务的框架。它可以包含一个,但可以有没有 Web 界面的引导应用程序,如下所示:***.com/questions/26105061/… @Bobby 你可以删除那些 web 注释并在 main 方法中执行逻辑。如果您需要一些 bean,则需要在 main 中引用应用程序上下文对象并手动获取这些 bean。 所以,你想创建一个命令行应用程序,而不是一个 Web 应用程序,对吧?然后不要使用 Controller、RequestMapping 等,因为那是用于定义 Web 控制器的。阅读文档:docs.spring.io/spring-boot/docs/current/reference/htmlsingle/… 【参考方案1】:

一旦您的应用程序正在运行并且您的 UserController() 准备好接受请求(如果它由 @Controller 注释),您就可以通过 url 调用 create 方法 前任。 localhost:8080/create 提供电子邮件,名称作为请求参数

【讨论】:

【参考方案2】:

是的,您可以创建 sprint 启动命令行应用程序。

请在spring boot的Application类中添加如下方法

@Autowired
private UserServiceImpl userServiceImpl;

@Bean
public CommandLineRunner commandLineRunner(ApplicationContext context) 

    return ((String...args) -> 

    /**
     * 
     * Call any methods of service class
     * 
     */ 

     userServiceImpl.create();

    );
 

【讨论】:

以上是关于如何使用 Spring Boot 进行本地简单项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有kafka服务器的情况下运行spring boot

如何理解spring boot中的微服务架构的体现

Spring boot如何引入本地jar包?

Spring Boot 项目通过 Maven profiles 使用 -P 支持项目多环境配置打包

Spring Boot 项目通过 Maven profiles 使用 -P 支持项目多环境配置打包

在Spring Boot中设置AWS凭证以进行本地测试和EC2部署