当前位置: 首页 > news >正文

从0搭建SpringBoot的HelloWorld -- Java版本

前言

以前总是利用start.spring.io创建spring-boot工程来使用 ,只知其然不知其所以然
今天从0搭建一个基于mvnen的spring-boot的helloworld项目

创建工程与安装依赖

  • 利用eclipse或IDEA等IDE创建一个Mvnen工程 ,一路NEXT即可


此时的目录结构如下 :

.
├── mymvn.iml
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        └── java
  • 修改pom.xml,安装spring-boot

    • 首先在pom.xml中加入parent ,继承spring的主程序和一些依赖

      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
          <version>1.5.10.RELEASE</version>
      </parent>
    • 然后的加入spring-boot-web程序依赖 ,使成为web项目

      <dependencies>
          <!-- Spring-boot框架主程序 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>4.3.14.RELEASE</version>
          </dependency>
      </dependencies>
    • 加入tomcat的组件的依赖 ,可以进行自动编译并运行

      <dependencies>
          <!--
              Spring-boot 的web主程序 ,包含tomcat等
              此依赖可以不安装 ,但是Spring-boot启动后不会开启tomcat监听
           -->
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
              <version>1.5.10.RELEASE</version>
          </dependency>
      </dependencies>
  • 此时的pom.xml全貌
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>mymvn</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>1.5.10.RELEASE</version>
    </parent>

    <dependencies>
        <!-- Spring-boot框架主程序 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.14.RELEASE</version>
        </dependency>

        <!--
            Spring-boot 的web主程序 ,包含tomcat等
            此依赖可以不安装 ,但是Spring-boot启动后不会开启tomcat监听
         -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.5.10.RELEASE</version>
        </dependency>
    </dependencies>
</project>
  • 这时候完整的spring-boot依赖就配置完了 ,使用IDE安装所有依赖即可

创建Spring-boot入口类

在/src/main/java创建一个名为app的包 ,然后在app中创建一个类文件Bootstrap.java ,该文件就是启动文件
写入以下内容 :

package app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

/** 
 *    自动扫描所与包类
 *    如果参数 basePackages = "包名" ,那么就只扫描这个包内的类
 *  不参数则是扫描所有的
**/
@ComponentScan
// 声明该类是工程入口类
@SpringBootApplication
public class Bootstrap {
        
    // 入口方法
    public static void main(String args[]){

        SpringApplication.run(Bootstrap.class ,args);
    }
}

Hello World

在app包中创建一个名为controllers的包 ,并在包里创建一个名为HelloController.java的文件
在文件中写入 :

package app.controllers;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 声明本类为Restful风格
 * 所有的方法的返回值都会被处理成JSON
 */
@RestController
public class HelloController {

    // 简单的理解为路由
    @RequestMapping("/")
    public String index() {
        return "Hello World";
    }
}

启动

在入口类中 ,右键点击 Run .... 即可 .eclipse是右键 run java Aplication

此时我们看到tomcat启动到了8080端口 .至此spring-boot就启动完成了

访问127.0.0.1

此时的目录结构

.
├── mymvn.iml
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── app
│   │   │       ├── Bootstrap.java
│   │   │       └── controllers
│   │   │           └── HelloController.java
│   │   └── resources
│   └── test
│       └── java
└── target
    ├── classes
    │   └── app
    │       ├── Bootstrap.class
    │       └── controllers
    │           └── HelloController.class
    └── generated-sources
        └── annotations
14 directories, 6 files

完结

相关文章:

  • 商城系统针对开发者自有支付系统提供的解决方案
  • 基于Redis实现分布式消息队列(4)
  • Java 多线程之线程池的使用
  • 5、React组件事件详解
  • Linksys WRT54G 路由器溢出漏洞分析—— 运行环境修复
  • 也谈链路劫持
  • kbasesrv篡改主页分析
  • 陈皓:如何测试洗牌程序
  • Object转Integer,String
  • 解析 Webpack中import、require、按需加载的执行过程
  • Android使用TextView,设置onClick属性无效解决办法
  • Python:SMOTE算法——样本不均衡时候生成新样本的算法
  • 前端之css
  • Quicklz压缩算法
  • CMD命令
  • Android Studio:GIT提交项目到远程仓库
  • CAP 一致性协议及应用解析
  • Elasticsearch 参考指南(升级前重新索引)
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java的Interrupt与线程中断
  • PhantomJS 安装
  • vue-router 实现分析
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 技术胖1-4季视频复习— (看视频笔记)
  • 简单易用的leetcode开发测试工具(npm)
  • 力扣(LeetCode)965
  • 区块链技术特点之去中心化特性
  • 什么是Javascript函数节流?
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 数论-逆元
  • #{}和${}的区别是什么 -- java面试
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2)nginx 安装、启停
  • (3)选择元素——(17)练习(Exercises)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (一) storm的集群安装与配置
  • ***监测系统的构建(chkrootkit )
  • .NET BackgroundWorker
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .net 按比例显示图片的缩略图
  • .NET 中 GetProcess 相关方法的性能
  • .NET命令行(CLI)常用命令
  • .Net小白的大学四年,内含面经
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [20161101]rman备份与数据文件变化7.txt
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [CTO札记]如何测试用户接受度?
  • [delphi]保证程序只运行一个实例
  • [javaSE] 看知乎学习工厂模式
  • [Jquery] 实现温度计动画效果