1.new project,不勾选create from archetype,直接选择

2.next下一步

在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及version。这三个属性可以唯一确定一个组件(Jar包或者War包)。groupId和artifactId是为了保证项目唯一性提出的。

参照maven中的groupId和artifactId到底指的是什么?

groupId:一般分为多段,第一段为域(org: 非营利组织,com:商业组织,cn:中国)。第二段为公司名称,第三段为公司内部的部门,如qa等。

artifactId:项目名称

version: snapshot和正式版本。快照版本和正式版本的主要区别在于:本地获取这些依赖的机制不同。

  • 正式版本:如果依赖一个库的正式版本,那构建时会先在仓库中查找是否已经有,如果没有才会去远程拉
  • snapshot:依赖snapshot库,每次构建项目时就会去远程拉它所依赖的版本。在配置Maven的Repository的时候中有个配置项,可以配置对于SNAPSHOT版本向远程仓库中查找的频率。频率共有四种,分别是always、daily、interval、never。 ![](./mavenauto.jpg)

3.pom.xml配置

  • 在properties中配置版本信息,接下来可以用${java-version}来使用该版本号

     <properties>
    <java.version>1.8</java.version>
    </properties>
  • 配置依赖的jar包,以<dependency></dependency>放在<dependencies></dependencies>中
     <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    </dependencies>
  • 在distributionManagement段中配置的是snapshot快照库和release发布库的地址,主要是id和url的配置,配置后就可以通过mvn deploy进行发布了
     <distributionManagement>
    <repository>
    <id>deployment</id>
    <name>internal repository for releases</name>
    <url>http://repo.caimi-inc.com/nexus/content/repositories/releases/</url>
    </repository>
    </distributionManagement>
  • parent:配置被继承的父项目的具体信息,可以继承父项目的配置信息,如dependencies等 
     <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.0</version>
    </parent>
  • 构建中依赖的插件
     <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
    </build>
  • 资源配置:也是在build中配置的。无需编译,是一些properties或XML配置文件,构建过程中会往往会将资源文件从源路径复制到指定的目标路径
     <build>
    <resources>
    <resource>
    <targetPath>META-INF/plexus</targetPath>
    <filtering>false</filtering>
    <directory>${basedir}/src/main/plexus</directory>
    <includes>
    <include>configuration.xml</include>
    </includes>
    <excludes>
    <exclude>**/*.properties</exclude>
    </excludes>
    </resource>
    </resources>
    </build>

4.项目结构

  • src—main下创建java目录,且右键选择mark directory as sources root
  • 在java目录下创建包,包名应该全为小写,包名前缀为groupId.artifactId.XXX
  • 在包下创建类 Main,作为程序入口
  • target是存放编译后的文件

5.添加代码

  • 在Main类中添加一个main函数
 package cn.zll.testproject.controller; //这个要改成自己的包名
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//添加注解SpringBootApplication,是一个复合注解,包含下面三个:
//@Configuration:表示将该类作用springboot配置文件类。
//@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置
//@ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类
@SpringBootApplication public class Main {
public static void main(String[] args){
//创建一个SpringApplication
SpringApplication app = new SpringApplication(Main.class);
app.run(args);
}
}
  • 在包名下创建一个controller包,并添加一个类IndexController
 package cn.zll.springboottest.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; //用Controller注解为控制器
@Controller
public class IndexController {
//拦截/路径的get请求,返回index.html中的内容
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index(){
return "index";
}
}
  • 在resources下添加templates,并添加index.html文档
    • 注:需要在pom.xml中添加依赖

       <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>

6.执行

右键Main类,直接Run —> 打开浏览器,输入localhost:8080,就可以访问

springboot第一个项目【创建】的更多相关文章

  1. springboot 多模块项目创建

    1.File>new>project  直接点击next 2.输入groupId  .artifactId 3.选择项目保存路劲  finish 4.成功创建多模块项目的根模块 5.创建子 ...

  2. springboot第一个项目【mybatis】

    1.resources下添加spring 添加spring-context.xml,设置controller的路径,以及引入数据库配置 <beans xmlns="http://www ...

  3. SpringBoot项目创建与第一个SSM项目示例

    本节介绍SpringBoot创建第一个示例SSM项目的完整过程,使用工具STS,与IDEA操作基本类似. 示例代码在:https://github.com/laolunsi/spring-boot-e ...

  4. springboot web项目创建及自动配置分析(thymeleaf+flyway)

    @ 目录 源码分析 webjars thymeleaf thymeleaf语法 springmvc 启动配置原理 集成flyway插件 springboot 创建web项目只需要引入对应的web-st ...

  5. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  6. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

  7. 利用IntelliJ IDEA 创建第一个项目

    1.创建项目 打开后点击第一个按钮

  8. django创建第一个项目helloworld

    环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...

  9. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

随机推荐

  1. [设计模式] javascript 之 命令模式

    模式定义: [定义]: 将一个请求封装成一个对象,使得你用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 组成: 调用者(Invoker),命令请求(Comman ...

  2. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  3. MobSF移动渗透测试框架

    1.https://github.com/MobSF/Mobile-Security-Framework-MobSF/wiki/1.-Documentation 2.http://www.freebu ...

  4. Js调用asp.net后台代码

    方法一:         1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为document.getElementById("b ...

  5. css控制继承

    inherit:继承父类. initial:继承浏览器. unset:重置为自然值,继承父类或者浏览器. revert:恢复原来的值. 详解: CSS为处理继承提供了四种特殊的通用属性值: inher ...

  6. Codeforces Round #516 (Div. 2, by Moscow Team Olympiad)

    题目链接 A. Make a triangle! 题意 让某段最少增加多少使得构成三角形 思路 让较小两段往最长段去凑 代码 #include <bits/stdc++.h> #defin ...

  7. .innerhtml 与.innertext

    示例代码: <div id="test"> <span style="color:red">test1</span> tes ...

  8. AMD/CMD/CommonJs到底是什么?它们有什么区别?

    知识点1:AMD/CMD/CommonJs是JS模块化开发的标准,目前对应的实现是RequireJs/SeaJs/nodeJs.   知识点2:CommonJs主要针对服务端,AMD/CMD主要针对浏 ...

  9. windows10+ubuntu16.04双系统搭建

    0 - 环境 操作系统: Windows 10 + Ubuntu 16.04 显卡: GTX 950M Cuda 9.0 cudnn v7.0 tensorflow-gpu==1.7.0 1 - ub ...

  10. 使用grep排除空行和注释行

    grep的排除选项为 -v排除空行的命令是:grep -v '^$' filename排除以#注释的命令是:grep -v '^#' filename 结合起来就是,既排除空行又排除注释行的命令gre ...