springboot_1
1. 创建一个spring boot项目可以使用哪些工具
1.1 使用start.spring.io
这是一个网站,可以在这个网站选择你需要的组件,然后会自动生成一个项目文件,你可以将它下载到本地,然后使用你常用的编译器打开就好。(它是下面三种方法的基础)
1.2 使用Spring Tool Suite(STS)
STS是eclipse的一个插件,可以方便eclipse用户进行spring boot的开发。
1.3 使用Intellij IDEA
IDEA 集成了spring boot(也是一个插件),idea对新技术的支持比较快,而且是最好用的java编译器(我认为的)。推荐大家使用它进行开发,教程可以参考我写的文章。
1.4 使用Spring boot CLI
Spring boot的命令行工具,可以很方便的操作spring项目。
接下来会逐一演示这四种方法。
2. 实战:创建第一个spring boot项目
2.1 使用start.spring.io
打开这个网站,设置你的项目,选择需要的dependencies。然后点击生成项目。就可以把项目下载到本地了。
下载下来的就是一个maven项目,你可以使用你熟悉的ide打开它,然后进行代码的编写。
2.2 使用Spring Tool Suite(STS)
首先,你需要安装这个插件。
安装好后,选择创建一个spring stater项目:
项目设置:
看到了么,start.spring.io O.O
版本和依赖选择:
完成
2.3 使用Intellij IDEA
选择spring initializr,然后选择jdk版本,点next。可以发现,idea的这个插件其实用的也是start.spring.io。
接下来配置你的项目:
选择你需要的依赖和版本:
设置项目名和位置:
完成:
2.4 使用Spring boot CLI
2.4.1 下载安装:(当前最新版1.5.3)
- 方法1,手动安装,下载下面的压缩包,提供两种压缩格式。
spring-boot-cli-1.5.3.RELEASE-bin.zip
spring-boot-cli-1.5.3.RELEASE-bin.tar.gz
下载完成后,遵循解压后的存档里的INSTALL.txt操作指南进行安装。一般而言,在.zip文件的bin/目录下存在一个spring脚本(Windows下是spring.bat),或者使用java -jar来运行一个.jar文件(该脚本会帮你确定classpath被正确设置)。
- 方法2,使用SDKMAN安装
SDKMAN! (The Software Development Kit Manager) 可以用来管理多种有许多版本的sdk,包括groovy和spring boot cli。可以通过 sdkman.io来获得sdkman,然后通过它来安装cli。:
$ sdk install springboot
$ spring --version
Spring Boot v1.5.3.RELEASE
- 1
- 2
- 3
你也可以通过配置,来获取其他版本的CLI:
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.5.3.RELEASE-bin/spring-1.5.3.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.5.3.RELEASE
- 1
- 2
- 3
- 4
- 方法3,如果你是mac用户,可以使用Homebrew:
$ brew tap pivotal/tap
$ brew install springboot
// 会安装到/usr/local/bin
- 1
- 2
- 3
- 方法4,mac用户也可以使用MacPorts安装:
$ sudo port install spring-boot-cli
- 1
命令行实现:
Spring Boot CLI启动脚本为BASH和zsh shells提供完整的命令行实现。你可以在任何shell中source脚本(名称也是spring),或将它放到你个人或系统范围的bash实现初始化中。在一个Debian系统里,系统范围的脚本位于/shell-completion/bash
下,当一个新的shell启动时该目录下的所有脚本都被执行。想要手动运行该脚本,例如,你已经使用GVM进行安装了:
$ . ~/.gvm/springboot/current/shell-completion/bash/spring
$ spring
grab help jar run test version
- 1
- 2
- 3
如果你使用Homebrew或MacPorts安装Spring Boot CLI,命令行实现脚本会自动注册到你的shell。
恩,上面撤了一堆,都是安装CLI的方式,翻译自官网,选一种方式安装就好了。安装成功后:
2.4.2 创建一个项目:
输入命令:
$ mkdir demo
$ cd demo
$ spring init -d=web -g=com.example -a=demo --package-name=com.example --name=demo -x
- 1
- 2
- 3
-d(dependencies 依赖包)
-g(Group Id)
-a(Artifact Id)
–package-name(Package name)
–name(Project name)
-x(Extract compatible archives)更多详情可以输入
spring help init查看。
查看结果:
和之前的创建方式得到的是一样的。
无论哪种创建方式都是要访问https://start.spring.io来获取模板工程代码。所以甚至可以使用CURL或HTTPie这些第三方工具来创建。当然。。创建个工程而已,没必要这么麻烦,直接idea不就好了?
3. 编写代码及代码核心部分的分析
创建好工程了,接下来,我们简单的写一个小demo。
3.1 简单的小demo。
打开DemoApplication.java 修改代码为:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) //移除自动注入数据源
@RestController // 添加了一个注解
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
//添加了一个方法
@RequestMapping("/hello")
public String hello(){
return "no hello world";
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
直接运行这个main方法:
浏览器访问http://localhost:8080/hello:
大功告成。第一个spring boot项目完成。
3.2 代码简单讲解
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
//移除自动注入数据源
- 1
- 2
现在新版本的springboot会自动注入数据源,所以需要在application配置文件里写你的数据库信息,但是我们暂时用不到它,所以先把这个功能移除,不然会报错。
@RestController
- 1
这个一个组合注解,相当于@ResponseBody和@Controller,controller大家都知道,ResponseBody注解将内容或对象作为 HTTP 响应正文返回。
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
- 1
- 2
- 3
这个就是spring boot的入口。关于这个方法,我们以后会详细讲解。
@RequestMapping("/hello")
public String hello(){
return "no hello world";
}
- 1
- 2
- 3
- 4
写过springmvc的应该都懂吧,我就不多说了。由于只是演示,所以我就把它放在入口类中了,规范点应该自己写controller类的。
4. 小结
创建一个spring boot的项目是非常方便的,由于start.spring.io的存在,你可以使用任何你喜欢的ide来快速开发spring boot项目。
从创建到运行,你会发现,我们没有创建任何一个xml,也没有多余的配置。创建好项目以后,写一个controller就可以运行了,非常的方便。
后面和数据库对接,做安全验证的时候你会发现,原来一切都可以这么简单。
springboot_1的更多相关文章
- spring_boot打jar包及打包错误的解决方法
问题产生及解决 对于刚接手spring_boot的人,可能会感觉到很茫然无措,看到书上写的spring_boot是直接打包成jar包,使用java -jar *运行.然而却不知道该怎么打包.而创建sp ...
- springboot 日志2
SpringBoot关于日志的官方文档 1.简述 SpringBoot官方文档关于日志的整体说明 本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官方文档,文中有说 Sprin ...
- SpringBoot入门学习记录(一)
最近,SpringBoot.SpringCloud.Dubbo等框架非常流行,作为Coder里的一名小学生,借着改革开放的东风,自然也是需要学习学习的,于是将学习经历记录于此,以备日后查看. 官网:h ...
- SpringBoot的日志管理
SpringBoot的日志管理 SpringBoot关于日志的官方文档 1.简述 SpringBoot官方文档关于日志的整体说明 本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官 ...
随机推荐
- 为什么vue组件的属性,有的需要加冒号“:”,有的不用?
https://segmentfault.com/q/1010000010929963/a-1020000010930077 <tab :line-width="2" act ...
- Dart运算符条件判断类型转换
/* 1.Dart运算符: 算术运算符 + - * / ~/ (取整) %(取余) 关系运算符 == != > < >= <= 逻辑运算符 ! && || 赋值 ...
- ES6深入浅出-9 Promise-2.Promise的用法
回调是不需要return 就可以传递数据.缺点就是嵌套多了就成了回调地狱 回调的另外一个问题拿不准应该怎么去传这个参数.以为node.js为例.nodejs有个readFile去读取文件,读取成功就用 ...
- ThreadLocal Memory Leak in Java web application - Tomcat
ThreadLocal variables are infamous for creating memory leaks. A memory leak in Java is amount of mem ...
- Python - Django - 命名 URL 和反向解析 URL
命名 URL: test.html: <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- matplot中的对象
figure:图表,可以理解为一个空间,二维情况下是一个平面 axes:坐标系,空间中的坐标系,一个空间可以有多个坐标系 axis:坐标轴,坐标系中的一个坐标轴,一个坐标轴只属于一个坐标系 画点:sc ...
- ubuntu 18.04使用sysbench测试MySQL性能
首先下载安装sysbench: sudo apt-get install sysbench -y 查看一下sysbench版本是多少: zifeiy@zifeiy-S1-Series:~$ sysbe ...
- PHP5.2\5.3 Xdebug 调试器配置及应用
PHP5.2添加的扩展方式:zend_extension_ts=D:\www\Server\php5\ext\php_xdebug-2.1.0-5.2-vc6.dll PHP5.3添加的扩展方式:ze ...
- 【ARTS】01_40_左耳听风-201900812~201900818
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 14、vue-pdf的使用
安装 npm install --save vue-pdf vue-pdf默认只显示第一页,可以写按钮翻页,也可以v-for多页显示 项目结构 实例一 按钮分页 <template> &l ...















