未经允许,不得转载

原作者:字母哥博客

本文完整系列出自: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完成第一个示例程序的更多相关文章

  1. 创建ArcGIS API for JavaScript的第一个示例程序

    原文:创建ArcGIS API for JavaScript的第一个示例程序 在上一篇博客中已经介绍了如何搭建ArcGIS API for JavaScript开发环境,如果您还没有搭建好开发环境的话 ...

  2. springBoot系列教程03:redis的集成及使用

    1.为了高可用,先安装redis集群 参考我的另一篇文章 http://www.cnblogs.com/xiaochangwei/p/7993065.html 2.POM中引入redis <de ...

  3. 从0到1使用Kubernetes系列(四):搭建第一个应用程序

    传统Kubernetes应用搭建 创建Namespace 在一个Kubernetes集群中可以创建多个Namespace进行"环境隔离",当项目和人员众多的时候,可以考虑根据项目的 ...

  4. 03.WebView演练-iOS开发Demo(示例程序)源代码

    技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilong   //转载请注明出处--本文永久链接:h ...

  5. Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件

    前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...

  6. SpringBoot系列——Spring-Data-JPA(升级版)

    前言 在上篇博客中:SpringBoot系列——Spring-Data-JPA:https://www.cnblogs.com/huanzi-qch/p/9970545.html,我们实现了单表的基础 ...

  7. SPRING-BOOT系列之Spring4深入分析

    上篇 : SPRING-BOOT系列之Spring4快速入门 1. 假如我们有这样一个场景,在一个组件中想获取到容器对象,那么我们也可以使用Autowired来完成装配.那么我们还可以让类集成一个接口 ...

  8. SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面

    前言 SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现.为Java Util Logging.Log4J2和Logback提供了默认配置.在不同的情况下,日志记录器都预先配置为使 ...

  9. SpringBoot系列——Security + Layui实现一套权限管理后台模板

    前言 Spring Security官网:https://spring.io/projects/spring-security Spring Security是一个功能强大且高度可定制的身份验证和访问 ...

随机推荐

  1. 在SpringMVC中,jsp和后台互相传值

    如题,这个是以前做的笔记,现在搬到博客上...... package com.ruide.action; ​ import java.util.HashMap; import java.util.Ma ...

  2. webpack.config.js配置实例

    const path = require('path') const HtmlWebPackPlugin = require('html-webpack-plugin') // 导入 在内存中自动生成 ...

  3. .net core api服务端跨域配置

    第1步:添加包引用(.net core 2.2 已自带此包,可跳过此步骤) Install-Package Microsoft.AspNetCore.Cors 第2步:在Startup.cs文件的Co ...

  4. 【qt】【QString的诸多操作】

    前言: qt的数据处理莫过于QString,QString对于字符串的操作多的数不胜数.下面博主就将常用的罗列出来,一起分享. 正文: 下面的操作具体为:追加,查找,删除,提取,分割,各种转换等等. ...

  5. luogu -P1095 守望者的逃离 - 分别DP

    P1095 守望者的逃离: https://www.luogu.org/problemnew/show/P1095 题意: 有一个人要在S长度的直线上跑过去,初始有M的魔法值,用10点魔法值可以在一秒 ...

  6. CodeForces-38B-Chess枚举+思维

    CodeForces-38B-Chess 这是一道与下象棋有关的题目,题意是给你一个车和马的坐标,然后再给你一个马,让你判断最后三者都不会被吃掉的可能性,注意的是三者是三个独立的个体. 这道题要知道一 ...

  7. codeforces 459 D. Pashmak and Parmida's problem(思维+线段树)

    题目链接:http://codeforces.com/contest/459/problem/D 题意:给出数组a,定义f(l,r,x)为a[]的下标l到r之间,等于x的元素数.i和j符合f(1,i, ...

  8. 8.8&8.9 dp训练小结

    写了两天的dp题,表示大多dp都不会啊,还是爆搜大法好.我真的太蒻了dp还是要多做题啊,一些基本的套路还是不熟,真正写对的dp也就一道,还一道爆搜过的,dp还有很深的坑要填啊.. 8.8 T1 质数和 ...

  9. 这一次,彻底弄懂 Promise 原理

    作者声明 本人将迁移至个人公众号「前端Q」及「掘金」平台写文章.博客园的文章将不再及时更新发布.欢迎大家关注公众号「前端Q」及我的掘金主页:https://juejin.im/user/5874526 ...

  10. 【Spring】对持久层技术的整合

    一.持久层技术 二.JdbcTemplate 开发步骤: 1. 导入相关的jar包 2. 配置连接池(数据源) 将参数设置到属性文件中: 3. 创建表 4. 编写实体类 5. Dao层实现 5.1 继 ...