zoukankan      html  css  js  c++  java
  • 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

    测试成功了!

  • 相关阅读:
    子集和数问题——回溯法
    七言
    Java冒泡排序
    七言
    定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素, 添加另一个集合,删除元素,判断集合中是否包含一个元素, 判断是否为空,清除集合, 返回集合里元素的个数等常用操作。
    创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了; 如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变
    20项素数和环——递归
    8项素数和环——枚举法
    填算式
    纵横放火柴
  • 原文地址:https://www.cnblogs.com/misaki-workshop/p/14022232.html
Copyright © 2011-2022 走看看