spring-boot学习 (Groovy与Spring Boot Cli)

时间:2019-07-04
本文章向大家介绍spring-boot学习 (Groovy与Spring Boot Cli),主要包括spring-boot学习 (Groovy与Spring Boot Cli)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、使用idea创建一个spring-boot项目,选择groovy语言

二、编写相应代码

    1、创建实例类

package com.zhi.example

class Man {
    Long id
    String name
    String phone

    Man(Long id, String name, String phone) {
        this.id = id
        this.name = name
        this.phone = phone
    }
}

    2、创建service

package com.zhi.example

import org.springframework.stereotype.Service

@Service("manService")
class ManService {
    Man getInfoByName(String name) {
        return new Man(100,name,"10000")
    }
}

    3、创建controller

package com.zhi.example

import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController

@RestController
class ManController {
    @Autowired
    private ManService manService;

    @GetMapping("/ok")
    String home() {
        Man man = manService.getInfoByName("tom")
        return "<h1>hello " + man.name + "</h1>"
    }
}

    4、运行ExampleApplication.groovy

package com.zhi.example

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

@SpringBootApplication
class ExampleApplication {
    static void main(String[] args) {
        SpringApplication.run(ExampleApplication, args)
    }
}

打开浏览器,访问:http://localhost:8080/ok

三、代码结构图

 四、过程中遇到的问题

1、启动ExampleApplication.groovy报错,“找不到或无法加载主类 com.zhi.example.ExampleApplication"

原因:这种方式是按照Java+SpringBoot启动方式,java环境下运行一个.java文件,其实运行的是对应编译后的.class字节码文件,IDEA可以默认将.java编译成.class。编译后的.class文件在当前目录的target文件夹下。

Groovy是用于Java虚拟机的一种敏捷的动态语言,它最终也是编译成.class字节码文件运行的,但IDEA默认是不会将.groovy文件进行编译。所以我们第一次启动会出现。找不到或无法加载到主类的异常。Source roots (or source folders) 指定一个文件夹,手动告诉

IDEA,这个文件夹及其子文件夹中包含的源代码,可以编译为构建过程的一部分。然后可以到target文件夹下check是否有对应的.class文件。之后就可以成功启动SpringBoot+groovy。

原文地址:https://www.cnblogs.com/lpob/p/11135419.html