Java Springboot学习(一)

1. springboot概念

  • 什么是SpringBoot
  • 为什么要学习SpringBoot
  • SpringBoot的特点

什么是SpringBoot

springboot是spring快速开发脚手架,通过约定大于配置的方式,快速构建和启动spring项目


为什么要学习SpringBoot

  • spring的缺点:

    复杂的配置, 项目各种配置是开发时的损耗, 写配置挤占了写应用程序逻辑的时间。

  • 混乱的依赖管理。

    项目的依赖管理非常的繁琐。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本

    和其他库不会有冲突,这是一个棘手的问题。并且,一旦选错了依赖的版本,随之而来的就是各种的不兼容 的bug。


spring boot 可以解决上面2个问题


SpringBoot的特点

  • 快速开发spring应用的框架
  • 内嵌tomcat和jetty容器,不需要单独安装容器,jar包直接发布一个web应用
  • 简化maven配置,parent这种方式,一站式引入需要的各种依赖
  • 基于注解的零配置思想
  • 和各种流行框架,spring web mvc,mybatis,spring cloud无缝整合

总结

spring boot 是spring快速开发脚手架,通过约定大于配置,优化了混乱的依赖管理,和复杂的配置,让我们用 java -jar方式,运行启动java web项目


2. 入门案例

需求:创建HelloController,在页面中打印hello spring boot...


创建工程

我们先新建一个空的工程:

 工程名为project:

设置jdk版本为1.8:

新建一个module:

使用maven来构建:

然后填写项目坐标:

目录结构:

项目结构:


添加依赖

SpringBoot提供了一个名为spring-boot-starter-parent的构件,里面已经对各种常用依赖(并非全部)的版本进 行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引 入坐标即可!

添加父工程坐标

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

添加web启动器

为了让SpringBoot帮我们完成各种自动配置,我们必须引入SpringBoot提供的自动配置依赖,我们称为 启动器 。 因为我们是web项目,这里我们引入web启动器:

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

需要注意的是,我们并没有在这里指定版本信息。因为SpringBoot的父工程已经对版本进行了管理了。 这个时候,我们会发现项目中多出了大量的依赖:

这些都是SpringBoot根据spring-boot-starter-web这个依赖自动引入的,而且所有的版本都已经管理好,不会出 现冲突。

管理jdk版本

默认情况下,maven工程的jdk版本是1.5,而我们开发使用的是1.8,因此这里我们需要修改jdk版本,只需要简单 的添加以下属性即可:

<properties>
    <java.version>1.8</java.version>
</properties>
<?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.lxs.demo</groupId> <artifactId>springboot-demo</artifactId> <version>1.0-SNAPSHOT</version>

<properties>   <java.version>1.8</java.version> </properties>

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

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

启动类

Spring Boot项目通过main函数即可启动,我们需要创建一个启动类:

然后编写main函数:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
}

编写controller

接下来,我们就可以像以前那样开发SpringMVC的项目了!

我们编写一个controller:

代码:

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello(){
    return "hello, spring boot!";
    }
}    

启动测试

接下来,我们运行main函数,查看控制台:

并且可以看到监听的端口信息:

1)监听的端口是8080

2)SpringMVC的映射路径是:/

3) /hello 路径已经映射到了 HelloController 中的 hello() 方法

打开页面访问:http://localhost:8080/hello

测试成功了!

原文地址:https://www.cnblogs.com/misaki-workshop/p/14022232.html