标签:Groovy String spring springframework name org import class 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。
标签:Groovy,String,spring,springframework,name,org,import,class,Cli 来源: https://www.cnblogs.com/lpob/p/11135419.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。