美文网首页
Spring Boot 官网文档简单翻译 Part VII

Spring Boot 官网文档简单翻译 Part VII

作者: icameisaw | 来源:发表于2018-10-13 23:19 被阅读28次

    Part VII. Spring Boot CLI

    文档说明:

    • 文档对应的版本为 2.1.0.M3
    • 这不是文档的完整中文翻译,也有可能跟原文文字不一一对应,只是我阅读文档时候做的简单笔记
    • 如果对应的章节没有任何中文,有可能是文档内容比较少,建议直接看原文,或者是我不感兴趣的部分
    • 目录标题没有做翻译,首先标题一般一眼就能看懂什么意思,不做翻译还能保证原文意思,其次也方便对应到原文位置

    Spring Boot CLI(Command-Line Interface) 是一个快速开发 Spring Boot 应用的命令行工具,允许你运行 Groovy 脚本。

    65. Installing the CLI

    参看 10.2 节内容:Installing the Spring Boot CLI

    66. Using the CLI

    spring 命令:

    $ spring help run
    spring run - Run a spring groovy script
    usage: spring run [options] <files> [--] [args]
    Option Description
    ------ -----------
    --autoconfigure [Boolean] Add autoconfigure compiler
    transformations (default: true)
    --classpath, -cp Additional classpath entries
    -e, --edit Open the file with the default system
    editor
    --no-guess-dependencies Do not attempt to guess dependencies
    --no-guess-imports Do not attempt to guess imports
    -q, --quiet Quiet logging
    -v, --verbose Verbose logging of dependency
    resolution
    --watch Watch the specified file for changes
    
    $ spring version
    Spring CLI v2.1.0.M3
    

    66.1 Running Applications with the CLI

    通过 run 命令可编译并运行 Groovy 代码,Spring Boot CLI 已经内置了 Groovy 软件,你不需要在额外安装。

    @RestController
    class WebApplication {
        @RequestMapping("/")
        String home() {
            "Hello World!"
        }
    }
    
    $ spring run hello.groovy
    $ spring run hello.groovy -- --server.port=9000
    $ JAVA_OPTS=-Xmx1024m spring run hello.groovy
    

    66.1.1 Deduced “grab” Dependencies

    Groovy 提供了 @Grab 注解来让你声明第三方依赖库,Groovy 会自动下载库文件,如果 Maven 或者 Gradle 的行为一样。
    Spring Boot 延续了这项功能,意图在你的代码里面减少 @Grab 注解。例如上面例子的 @RestController,Spring Boot 自动引入了 Tomcat 和 Spring MVC。

    更多的 Grab 自动配置 可参看 CompilerAutoConfiguration 类。

    66.1.2 Deduced “grab” Coordinates

    引入第三方库的时候,不要指定 group 和 version,会借用 Spring Boot 默认的依赖元数据。

    66.1.3 Default Import Statements

    import 语句不需要填写 fully-qualified names。

    66.1.4 Automatic Main Method

    66.1.5 Custom Dependency Management

    引入你指定的依赖库:

    @DependencyManagementBom("com.example.custom-bom:1.0.0")
    

    66.2 Applications with Multiple Source Files

    $ spring run *.groovy
    

    66.3 Packaging Your Application

    打包成可执行的 jar 文件:

    $ spring jar my-app.jar *.groovy
    

    66.4 Initialize a New Project

    init 命令可以让你通过 start.spirng.io 网址来创建一个新项目

    $ spring init --dependencies=web,data-jpa my-project
    Using service at https://start.spring.io
    Project extracted to '/Users/developer/example/my-project'
    

    66.5 Using the Embedded Shell

    Spring Boot 在 BASH 和 zsh 有自动补全命令的脚本,在 Windows 下面可以启用内嵌的 shell:

    $ spring shell
    Spring Boot (v2.1.0.M3)
    Hit TAB to complete. Type \'help' and hit RETURN for help, and \'exit' to quit.
    

    66.6 Adding Extensions to the CLI

    引入第三方库:

    # group:artifact:version
    $ spring install com.example:spring-boot-cli-extension:1.0.0.RELEASE
    
    # uninstall 
    $ spring uninstall com.example:spring-boot-cli-extension:1.0.0.RELEASE
    

    67. Developing Applications with the Groovy Beans DSL

    bean{}

    @Configuration
    class Application implements CommandLineRunner {
        @Autowired
        SharedService service
        
        @Override
        void run(String... args) {
            println service.message
        }
    }
    
    import my.company.SharedService
    beans {
        service(SharedService) {
            message = "Hello World"
        }
    }
    

    68. Configuring the CLI with settings.xml

    Spring Boot CLI 使用 Aether 来处理依赖事情,Aether 也是 Maven 依赖管理的引擎。CLI 也会使用 ~/.m2/setting.xml 来配置 Aether。

    See Maven’s settings documentation for further information.

    69. What to Read Next

    如果你觉得 CLI 工具已经不能满足你的需求,尝试一下构建工具。

    相关文章

      网友评论

          本文标题:Spring Boot 官网文档简单翻译 Part VII

          本文链接:https://www.haomeiwen.com/subject/ktnnaftx.html