springBoot入门简介,使用spring initializer快速创建spring Boot项目

springBoot入门简介,使用spring initializer快速创建spring Boot项目springBoot入门简介,使用spring initializer快速创建spring Boot项目

大家好,又见面了,我是你们的朋友全栈君。

传统“单体”spring缺点:许多应用结合在一起,牵一发而动全身。一个小小的bug修改,或者日益增长的需求变更都需要停止服务重新启动。

传统“单体”spring优点:开发测试简单,只需要把整个应用放到服务器上就行了,不给运维带来麻烦。水平扩展也很简单,当应用的负载过大,既可以把应用负载很多分,通过负载均衡就可以提高并发能力。

 springboot是把应用的几个分应用分开(或说是功能 点分块),通过动态组合(包括数量和顺序上的组合)协调工作,其中如果某部分应用的处理业务能力较为复杂就可以多分多加几个应用,提高并发。每个功能点可以独立升级变更,可替换的。

springBoot入门简介,使用spring initializer快速创建spring Boot项目

一,开发HelloWorld

1,环境

jdk:1.8

maven:3.3以上版本

maven的setting文件修改部分:

<profiles>
		<profile>
			<id>jdk-1.8</id>

			<activation>
				<activeByDefault>true</activeByDefault>
				<jdk>1.8</jdk>
			</activation>

			<properties>
				<maven.compiler.source>1.8</maven.compiler.source>
				<maven.compiler.target>1.8</maven.compiler.target>
				<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
			</properties>
		</profile>
	</profiles>

2,创建maven工程。

3,导入spring-boot相关依赖:

依赖的配置就不用手写了,到官网找指导案例,如这个网址:https://spring.io/guides/gs/rest-service/

springBoot入门简介,使用spring initializer快速创建spring Boot项目

把箭头指的菜单点开就行了。

然后在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>com.atguigui</groupId>
    <artifactId>spring-boot-01-helloworld</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

3,编写主程序,启动springBoot应用

主程序代码如下:

package com.liuxin;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @SpringBootApplication 标注一个主程序,说明这是个springboot的web程序
 */
@SpringBootApplication
public class Helloworld {

    public static void main(String[] args) {
        //Spring 应用跑起来
        SpringApplication.run(Helloworld.class,args);
    }
}

控制器代码:

package com.liuxin;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String Hello(){
        return "hello world";
    }
}

文件目录结构:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

然后启动,点下面位置就能启动了,控制台会有相应的日志,和端口

springBoot入门简介,使用spring initializer快速创建spring Boot项目

然后页面输入localhost:8080/hello,  就能看到我们的hello world了。

springBoot入门简介,使用spring initializer快速创建spring Boot项目

4,部署应用,把程序打包,

springBoot入门简介,使用spring initializer快速创建spring Boot项目

找到上图位置,双击package就能开始打包了,完成后会在工程目录中有相应的工程.jar包。

然后复制到桌面上,右键属性找到并复制目录,然后cmd打开dos命令窗口。

执行如下:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

springBoot入门简介,使用spring initializer快速创建spring Boot项目

最后执行命令:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

这样同样能够在页面访问我们的项目。(注意先停掉之前在idea启动的服务)

 


二,简介

1,为什么springboot 可以这么简单的配置?

打开pom.xml文件,按住ctrl键,点进去下面位置,我们看看导入jar包里面有什么东西?

springBoot入门简介,使用spring initializer快速创建spring Boot项目

可以看到下图位置,

spring-boot-dependencies是spring-boot-starter-parent的父项目。
 

紧接着继续往下点开,可以看到各种jar包的版本:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

 

2,导入的依赖:

看这里:

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

点击上面<artifactId>spring-boot-starter-web</artifactId> 可以看到spring-boot-starter-web下面有哪些jar包,这属于web模块的jar包.

starters:在这里的意思是一系列依赖描述的组合,即启动器。

 

spring boot 将所有的功能场景提取出来,做成一个个的starters(场景启动器),需要时只需要在项目中引入这些starters相关的场景,然后所有的依赖都会导进来。

 

基本上所有的starter启动器pom配置这个链接中都可以找到:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-build-systems.html#using-boot-dependency-management

或者百度spring boot starters,点这里也可以:springBoot入门简介,使用spring initializer快速创建spring Boot项目

 


三,使用spring initializer快速创建spring Boot项目

打开idea,创建工程:file-project –》选择下图位置:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

下一步,创建项目名,组织id,模块id:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

下一步,选择项目类型,或者说是功能模块:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

finish,就能够自动创建工程,并能导入相应依赖了。

创建完成后,

(1)我们看新项目中的pom.xml,会有相应的启动器依赖:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

(2)并且主程序居然也给我们自动生成了:

springBoot入门简介,使用spring initializer快速创建spring Boot项目

下面写个controller来测试下,

注意要和控制器在同一个目录级别创建controller包,如果是在java目录下,这启动后页面上会报404(先这样记,后面再找优化方法,)

springBoot入门简介,使用spring initializer快速创建spring Boot项目

controller的 内容如下:

package com.example.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//@ResponseBody  //加在这里说明这里控制器的所有方法返回的数据直接写给浏览器 (如果是对象,则转为json数据
//@Controller
@RestController  //z这个注解是@Controller和@ResponseBody的合体
public class HelloController {

    @RequestMapping("/helloe")
    public String hello(){
        return "hello world";
    }

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106001.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • web实现QQ第三方登录[通俗易懂]

    web实现QQ第三方登录[通俗易懂]开放平台-web实现QQ第三方登录应用场景web应用通过QQ登录授权实现第三方登录。操作步骤1注册成为QQ互联平台开发者,http://connect.qq.com/2准备一个可访问的域名,

    2022年8月2日
    7
  • 推荐10款最好的免费项目管理工具[通俗易懂]

    推荐10款最好的免费项目管理工具1.TeamLab  TeamLab 是一个免费开源的商业协作和项目管理的平台。TeamLab 主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等。 2.XPlanner+XPlanner是专门为XP(极限编程)团队设计的项目管理工具3.DevCloud    DevCloud…

    2022年4月4日
    311
  • unity touch事件_安卓开发按钮点击事件

    unity touch事件_安卓开发按钮点击事件一:下面先说经常用的三个事件手指按下、手指移动、手指松开1.手指按下if(input.touchCount==1){if(input.touches[0].phase==TouchPhase.Beagn){//手指按下时,要触发的代码}​​​​​​​2.手指在屏幕上滑动if(input.touchCount==1)if(input.t

    2025年10月18日
    2
  • rootfs.bin_libhdfs

    rootfs.bin_libhdfs忘了到底前几年看的一篇什么busybox的教程,写的及其复杂,以至于让我这么久以来一直不敢再去碰这个东西,直到今天又再次有了这个需求,特来再搞一次,没想到不到俩小时,一次搞定,特将这过程记录下来,以后也好有个参考。1环境宿主机:Ubuntu18.04交叉编译工具链:aarch64-linux-gnu-gcc7.4.0目标机:Armv8i.MX8EVKboard2下载…

    2022年10月7日
    2
  • 三角函数公式和图像大全[通俗易懂]

    三角函数公式和图像大全[通俗易懂]初等函数的图形幂函数的图形指数函数的图形对数函数的图形三角函数的图形反三角函数的图形各三角函数值在各象限的符号三角函数的性质反三角函数的性质三角函数公式两角和公式倍角公式三倍角公式半角公式和差化积积化和差诱导公式万能公式其它公式其他非重点三角函数双曲函数公式一…

    2022年9月14日
    3
  • ViewPager 详解(二)—详解四大函数

    ViewPager 详解(二)—详解四大函数前言:上篇中我们讲解了如何快速实现了一个滑动页面,但问题在于,PageAdapter必须要重写的四个函数,它们都各有什么意义,在上节的函数内部为什么要这么实现,下面我们就结合android的API说明,详细讲解一下。相关文章:1、《ViewPager详解(一)—基本入门》2、《ViewPager详解(二)—详解四大函数》3、《ViewPager详解(三)-…

    2022年7月22日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号