用Spring Boot开发命令行执行程序

用Spring Boot开发命令行执行程序,第1张

通常使用Spring Boot,我们都是开发服务程序,是一种启动后就不停止的。如果想要用Spring Boot开发一次性执行的程序,该怎么设计呢?

基于Spring Boot,而不是纯粹的jdk开发一次性执行程序,有什么区别呢?那就是可以利用Springframework的特性都可以被使用。依赖反转、spring expression、日志、测试等都可以快速搭建起来。这不就是Spring Boot的宗旨吗?

首先从 Spring initializr 上创建一个最简单的Spring Boot项目,不需要添加任何依赖,就会生成类似下方的项目文件。

我们可以根据需要实现ApplicationRunner或CommandLineRunner接口,那么启动Spring Boot应用时就会执行我们的逻辑,并在全部执行结束后退出。

把程序跑起来我们就发现:

我们可以用 @Order(value= ) 来调整不同Runner的执行顺序,可以达到我们的业务诉求。

我们从SpringApplication的run方法进入,可以找到这些Runner是如何被调用执行的。关键就在于

orgspringframeworkbootSpringApplication#callRunners 方法,以及该方法内部的 orgspringframeworkcoreannotationAnnotationAwareOrderComparator 排序方法。跟踪到这个类的父类 orgspringframeworkcoreOrderComparator 说明中,可以看到具体的排序规则:

覆盖了有Order,没Order的各种情况,包括使用 orgspringframeworkcorePriorityOrdered 注解的方式都统一在这个 javautilComparator 中定义和实现。

在实际应用中两种Runner有什么差异呢?仅仅差异在入参。可以详见 orgspringframeworkbootCommandLineRunner 和 orgspringframeworkbootApplicationRunner 的定义。

建议用 ApplicationRunner ,因为不需要自己做命令参数解析,而且功能也完全覆盖 CommandLineRunner 。

举例子,看下方的输出即可。

     Springboot可以简化spring应用程序的创建和开发过程,也可以说Springboot可以大大简化之前SSM(SpringMVC+Spring+Mybatis)的框架进行开发的过程。它可以省去之前繁琐的编辑配置文件的过程,采用 大量的默认配置 来简化开发过程。

    正因为上述的优点,Springboot可以非常容易和快速地创建基于Spring框架的应用程序,使得编码、配置、部署和监控都变得简单了,因此它在业界备受关注。

21、能够快速创建基于Spring的程序

22    能够直接使用java main方法启动内嵌的Tomcat服务器运行Springboot程序,不需要部署war文件

23   提供约定的starter POM来简化Maven配置,使得这个过程更加简单

24   自动化配置,根据项目的Maven依赖配置,springboot可以自动配置Spring、SpringMVC等等

25  提供了程序的健康检查功能

26  基本可以完全不使用XML配置文件,采用注解来配置

31  自动配置

32  起步依赖

这是springcloud实现在线编辑功能的步骤:

1、导入项目

在菜单中,选择“从Coding导入…”功能,此时,会d出当前账户在Coding中托管的所有仓库,如果没有,可以点击“同步仓库”刷新获取最新的仓库列表,在选择了之前我们准备的SpringBoot仓库之后,我们在右边的运行环境窗口中,可以看到当前使用的云主机信息以及该主机上的运行环境,默认只有Python的环境,这里我们要运行Spring Boot应用,所以可以通过添加环境在增加Java环境并选中它。

2、在准备好项目以及运行环境之后,我们就可以通过命令行的方式,将这个项目运行起来了,当上面的项目通过mvn spring-boot:run命令运行起来之后,由于这个运行程序在远端的腾讯云主机上,我们并无法像本地那样通过localhost访问,所以我们要创建一个访问链接, *** 作很简单,只需要在右侧的访问链接窗口中点击创建链接,然后点击下面的链接地址,就可以跳转访问这个应用的根路径了。

3、当可以运行的时候,我们就能够在线编辑代码了,可以很方便的在线编辑之后将修改内容提交到Git上。

spring程序应该安装在目录linux点击右侧的MavenProject,再点击项目中的Lifecycle,package,等待“success”即可完成jar包。

spring程序最重要的就是遵循“约定优于配置”这一基本原则。Spring Boot的关于静态资源的默认配置已经完全满足绝大部分WEB应用的需求。没必要去弄手续繁杂的自定义,用Spring Boot的约定就好了。

spring程序特性:

spring程序强大的基于 JavaBeans的采用控制反转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。

spring程序内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。

spring程序JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。 再次利用JDBC时,你无需再写出另一个 '终止' (finally) 模块。并且面向JDBC的异常与Spring 通用数据访问对象(Data Access Object) 异常等级相一致。

可以的,详细 *** 作如下

1首先另存一个游戏档,你把家庭存到资料库后把小人单独分离出来给他单独开个新家,再存一次资料库。然后开新游戏(换另一张地图创建家庭),打开资料库后把新建的小人家庭导入,就可以修改体型相貌跟特性了。

2再存一次资料库后,把最新的这个小人再放回你原来的家中,调回来后可以重开职业路线了。这种方法的后遗症是关系列表跟随身物品会被清空,朋友关系这些可以重新联络,随身物品里面的书籍可以事先提前放到书架,其他东西看看放冰箱或者家庭物品清单(建造模式下左下角)

public class Person {

private String name;

public void setName(String name){

}

这里的setName要有代码:

thisname = name;

没有赋值的话,显示的时候当然是null。

以上就是关于用Spring Boot开发命令行执行程序全部的内容,包括:用Spring Boot开发命令行执行程序、Springboot简介、springcloud如何实现在线编辑功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10102339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存