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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vhdl与verilog hdl的区别_HDL语言

    vhdl与verilog hdl的区别_HDL语言HDL特别是VerilogHDL得到在第一线工作的设计工程师的特别青睐,不仅因为HDL与C语言很相似,学习和掌握它并不困难,更重要的是它在复杂的SOC的设计上所显示的非凡性能和可扩展能力。 在学习HDL语言时,笔者认为先学习VerilogHDL比较好:一是容易入门;二是接受VerilogHDL代码做后端芯片的集成电路厂家比较多,现成的硬核、固核和软核比较多。小析VHDL与Veril

    2022年9月21日
    6
  • Referenced file contains errors 完美解决方法

    Referenced file contains errors 完美解决方法Referenced file contains errors 完美解决方法

    2022年4月24日
    57
  • navicat 15 最新 激活码_在线激活

    (navicat 15 最新 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    141
  • 对猴子摘香蕉问题给出产生式系统描述_猴子接香蕉的编程

    对猴子摘香蕉问题给出产生式系统描述_猴子接香蕉的编程一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为A,香蕉位置在B,箱子位置为C),如何行动可摘取到香蕉2.1猴子摘香蕉问题PEAS性能环境执行器感知器猴子站在箱香蕉MoveSite子上摘到香箱子ClimbHold蕉房间(a,b,c)PushOnGraspHangJump2.2定义谓词Site(x,w):物体x的位置是wHold(z):z手中拿着香蕉On(z):z

    2022年9月26日
    4
  • 常用的几种java集合类总结

    常用的几种java集合类总结一:直观框架图简单版:详细版:Java集合框架Java集合框架主要包括两种类型的容器,一种是集合(Collection),另一种是图(Map)。Collection接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedH…

    2022年6月12日
    36
  • CentOS7 安装MYSQL的教程

    CentOS7 安装MYSQL的教程今天出一期Linux版CentOS7安装MYSQL的教程。【0】实验环境:CentOS7保持网络畅通【1】查看是否已经安装Mysqlrpm-qa|grepmysql下面是我的操作,可见并没有安装Mysql,那么直接进入【2】如果你查看出来有东西,可以使用下面命令将其删除(xxx为文件全名)rpm-exxx【2】下载官方Mysql包Wgethttp://dev.mysql.com/get/mysql57-community-release-el7-

    2022年5月5日
    46

发表回复

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

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