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。

spring-boot学习 (Groovy与Spring Boot Cli)的更多相关文章
- Spring Boot 学习1-创建Spring Boot应用
如果使用Maven, 确保先安装好Maven再继续. 创建POM文件 在这里有两种方式: 继承Spring Boot parent的pom. 不继承. 继承Spring Boot pom 1 2 3 ...
- 【Spring Boot学习之六】Spring Boot整合定时任务&异步调用
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2一.定时任务1.启动类添加注解@EnableScheduling 用于开启定时任务 package com.wjy; i ...
- 【Spring Boot学习之四】Spring Boot事务管理
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 一.springboot整合事务事务分类:编程事务.声明事务(XML.注解),推荐使用注解方式,springboot默 ...
- 【Spring Boot学习之三】Spring Boot整合数据源
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 一.Spring Boot整合Spring JDBC 1.pom.xml <project xmlns=&quo ...
- 【Spring Boot学习之一】Spring Boot简介
环境 Java1.8 Spring Boot 1.3.2 一.Spring Boot特点1.使用java运行项目,内置tomcat,无需外部容器:2.减少XML配置,使用properties文件和注解 ...
- spring揭密学习笔记(1) --spring的由来
1.spring起源于在EJB暴露出各种严重问题的情况应运而生. Spring是于2003年兴起的一个轻量级的Java开发框架, Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解 ...
- Spring Boot 学习笔记 - 认识Spring Boot框架
因各种原因,.NET前端工程师重新接触JAVA,真是向全栈的路上又迈出了无奈的一步. 下面正文: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初 ...
- Spring Boot学习——第一个Spring Boot程序
依照下面的步骤创建项目: 点击 Next 项目介绍: Application.java中的主要代码: @SpringBootApplication public class ReaderApplica ...
- Spring boot 学习 四:spring boot 配置文件 application.yml
一 关于端口: spring boot的默认端口是8080, 如果想更改的话,在配置文件中做如下配置.ServerProperties.class会去读取这个值. server: port: 另外一种 ...
- Spring Boot学习一之Spring Beans和依赖注入
你可以自由地使用任何标准的Spring框架技术去定义beans和它们注入的依赖.简单起见,我们经常使用 @ComponentScan 注解搜索beans,并结合 @Autowired 构造器注入. 如 ...
随机推荐
- form-create教程:给内置组件和自定义组件添加事件
本文将介绍form-create如何给内置组件和自定义组件添加事件 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue ...
- C# 中 Linq 操作 DataTable
方法一:更简洁 Console.WriteLine(dt.Rows.OfType<DataRow>().First(x => x.Field<string>(" ...
- Computer Vision_33_SIFT:Improving Bag-of-Features for Large Scale Image Search——2010
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- Win10建立标准账户并设置标准账户权限
Win10建立标准账户,并使用组策略对标准帐户的权限进行管理. 注意:本文内容均在管理员帐户下操作,可以只看图片按图示步骤操作即可. 一.建立一个标准账户用于公用登录 (1)按”win健+R”运行“c ...
- linux在线安装jdk,tomcat,Nginx
安装jdk yum search java 查看java的所有版本内容 yum install -y java版本 -openjdk 安装成功 安装tomcat yum search tomcat y ...
- C语言字符串格式化输出
%ms:将字符串全部输出,如果字符串长度小于m,在左边用空格将输出宽度补齐为m: %.ns:如果n大于字符串长度,将字符串全部输出,否则,输出前n个字符: %m.ns:如果n不大于m,输出指定字符串的 ...
- Linux网络管理——ifconfig、route
Linux识别到的网络设备 eth# eth0 eth1 以太网卡 wifi# wifi0 wifi1 无线网卡 ppp# ppp0 ppp1 拨号连接 lo 本地环回网卡 ...
- MySQL在command line Client下的一些命令
MySQL在command line Client下的一些命令 通过CMD进入到本地数据库: mysql -h localhost -u -root -p 参数说明: -h 要连接的服务器的主机名或I ...
- Go语言中的defer
可以用作一些资源的释放. 1.在一个函数内的defer执行顺序是先写的后执行,后写的先执行(遵循栈结构) func DeferTest1(){ defer fmt.Println("我是 d ...
- webpack中shimming的概念
在webpack打包过程中会去做一些代码上的兼容,或者打包过程的兼容,比如之前使用过的babel-polyfill这个工具,他解决了es6代码在低版本浏览器的兼容.这就是webpack中的垫片.他解决 ...