springboot系列之03-使用IDEA完成第一个示例程序
未经允许,不得转载
原作者:字母哥博客
本文完整系列出自:springboot深入浅出系列
一、使用IntellijIDEA建立第一个spring boot 项目

通常只有专业版付费版才默认带有Spring Initialzr功能,如果你的IDEA没有这个选项。可以参照本文末尾《附文:Spring Initializr》

在这里可以选择我们需要依赖的第三方软件类库,包括spring-boot-web,mysql驱动,mybatis等。我们这里暂时先不添加任何依赖,我们后文手动添加maven依赖。这样更有益于理解。等你熟悉了maven依赖项,可以再次回到这里尝试勾选。

项目创建过程可能因为maven依赖项较多,下载时间比较长,耐心等待。项目构建完成之后删掉下面的这几个文件,这几个文件是maven版本控制相关的文件。我们结合IDEA管理maven,一般来说这几个文件用不到。

二、Hello World示例程序
将application.properties改成application.yml。yml文件和properties配置文件具有同样的功能。二者的区别在于:
- yml文件的层级更加清晰直观,但是书写时需要注意格式缩进对齐。yml格式配置文件更有利于表达复杂数据结构的配置。比如:列表,对象(后面章节会详细说明)。
 - properties阅读上不如yml直观,好处在于书写时不用特别注意格式缩进对齐。
 
server:
  port: 8888   # web应用服务端口
引入spring-boot-starter-web依赖(不需要加版本号,不理解可以去看上一节的文章)
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
</dependency>
一个hello world测试Controller
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(String name) {
        return "hello world, " +name;
    }
}
走一个测试一下

三、项目结构目录结构简介

项目结构目录整体上符合maven规范要求:
| 目录位置 | 功能 | 
|---|---|
| src/main/java | 项目java文件存放位置,初始化包含主程序入口 XxxApplication,可以通过直接运行该类来 启动 Spring Boot应用 | 
| src/main/resources | 存放静态资源,图片、CSS、JavaScript、web页面模板文件等 | 
| src/test | 单元测试代码目录 | 
| .gitignore | git版本管理排除文件 | 
| target文件夹 | 项目代码构建打包结果文件存放位置,不需要人为维护 | 
| pom.xml | maven项目配置文件 | 
| application.properties(application.yml) | 用于存放程序的各种依赖模块的配置信息,比如服务端口,数据库连接配置等 | 
- src/main/resources/static主要用来存放css、图片、js等开发用静态文件
 - src/main/resources/public用来存放可以直接用于访问的html文件
 - src/main/resources/templates用来存放web开发模板文件
 
附文:Spring Initializr
如果IDEA没有Spring Initializr选项,先去安装这个IDEA插件。

未经允许,不得转载
原作者:字母哥博客
本文完整系列出自:springboot深入浅出系列
springboot系列之03-使用IDEA完成第一个示例程序的更多相关文章
- 创建ArcGIS API for JavaScript的第一个示例程序
		
原文:创建ArcGIS API for JavaScript的第一个示例程序 在上一篇博客中已经介绍了如何搭建ArcGIS API for JavaScript开发环境,如果您还没有搭建好开发环境的话 ...
 - springBoot系列教程03:redis的集成及使用
		
1.为了高可用,先安装redis集群 参考我的另一篇文章 http://www.cnblogs.com/xiaochangwei/p/7993065.html 2.POM中引入redis <de ...
 - 从0到1使用Kubernetes系列(四):搭建第一个应用程序
		
传统Kubernetes应用搭建 创建Namespace 在一个Kubernetes集群中可以创建多个Namespace进行"环境隔离",当项目和人员众多的时候,可以考虑根据项目的 ...
 - 03.WebView演练-iOS开发Demo(示例程序)源代码
		
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong //转载请注明出处--本文永久链接:h ...
 - Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件
		
前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...
 - SpringBoot系列——Spring-Data-JPA(升级版)
		
前言 在上篇博客中:SpringBoot系列——Spring-Data-JPA:https://www.cnblogs.com/huanzi-qch/p/9970545.html,我们实现了单表的基础 ...
 - SPRING-BOOT系列之Spring4深入分析
		
上篇 : SPRING-BOOT系列之Spring4快速入门 1. 假如我们有这样一个场景,在一个组件中想获取到容器对象,那么我们也可以使用Autowired来完成装配.那么我们还可以让类集成一个接口 ...
 - SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面
		
前言 SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现.为Java Util Logging.Log4J2和Logback提供了默认配置.在不同的情况下,日志记录器都预先配置为使 ...
 - SpringBoot系列——Security + Layui实现一套权限管理后台模板
		
前言 Spring Security官网:https://spring.io/projects/spring-security Spring Security是一个功能强大且高度可定制的身份验证和访问 ...
 
随机推荐
- Leetcode之二分法专题-278. 第一个错误的版本(First Bad Version)
			
Leetcode之二分法专题-278. 第一个错误的版本(First Bad Version) 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版 ...
 - ubuntu 用户无法/循环登陆的问题
			
安装oracle数据库的时候需要新建用户oracle,使用的命令为:useradd oracle.这样做直接创建了用户oracle,但并没有在home目录下创建oracle用户的文件.在log out ...
 - 从零开始搭建Java开发环境第一篇:Java工程师必备软件大合集
			
1.JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前主流的JDK版 ...
 - js封装 DOM获取
			
function $(selector){ //获取第一个字符 var firstLetter = selector.charAt(0); //对第一个字符进行判断 switch(firstLette ...
 - 洛谷P1372 又是毕业季I+数学
			
P1372 又是毕业季I 题意:在1-n中找到k个数,使得这k个数的最大公因数最大: 思路,题解: 因为两个数成倍数关系时,它们的最大公因数是两数中的较小数,也就是相对来说最大公因数较大 返回题目,这 ...
 - [NOI2009]诗人小G 四边形优化DP
			
题目传送门 f[i] = min(f[j] + val(i,j); 其中val(i,j) 满足 四边形dp策略. 代码: #include<bits/stdc++.h> using nam ...
 - 模板类型推导、auto推导
			
effective modern c++ 果然是神书,干货满满,简单记录下. item1 模板推倒 典型的模板函数 temlate<class T> void fn(ParamType p ...
 - Fire Balls 08——音效的添加
			
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
 - Docker中使用FlameGraph分析JVM应用性能
			
开源项目推荐 Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/ht ...
 - 那些年,我们误解的 JavaScript 闭包
			
说到闭包,大部分的初始者,都是谈虎色变的.最近对闭包,有了自己的理解,就感觉.其实我们误解闭包.也被网上各种说的闭包的解释给搞迷糊. 一句话:要想理解一个东西还是看权威的东西. 下面我来通俗的讲解一个 ...