微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐