SpringBoot快速入门 1

简介: SpringBoot快速入门

1 概述

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率


面试问spring的时候,带一下spring boot,有时候出去面试,也会问到spring boot,提的一个点,spring boot启动的时候一个流程图,本身他是spring这个项目发展到一定阶段之后的一个产物

spring框架,mybatis,spring mvc,去做一些开发,打包部署到线上的tomcat里去,tomcat启动了,他就会接收http请求,转发给spring mvc框架,调用controller -> service -> dao -> mybatis(sql语句)

java web开发的时候,在这里整合进来redis、elasticsearch、还有很多其他的一些东西,rabboldlumq、zookeeper,等等,诸如此类的一些东西

国外的spring开源社区,就发起了一个项目,spring boot,我们基于spring boot直接进行开发,里面还是使用spring + spring mvc + mybatis一些框架,我们可以一定程度上来简化我们之前的开发流程

做很多的配置,自己去定义一些bean,流程比较繁琐

spring boot内嵌一个tomcat去直接让我们一下子就可以把写好的java web系统给启动起来,直接运行一个main方法,spring boot就直接把tomcat服务器给跑起来,把我们的代码运行起来了

自动装配,比如说我们可以引入mybatis,我其实主要引入一个starter依赖,他会一定程度上个自动完成mybatis的一些配置和定义,不需要我们手工去做大量的配置了,一定程度上简化我们搭建一个工程的成本

引入一些mybatis的jar包,还有mybatis依赖的一些其他的jar包,然后动手编写一些xml配置文件,然后定义一些bean,写一些sql语句,写一些dao代码,此时就可以使用mybatis去执行sql语句了

只要引入一个starter,他会自动给你引入需要的一些jar包,做非常简单的、必须的一些配置,比如数据库的地址,几乎就不用你做太多的其他额外的配置了,他会自动帮你去进行一些配置,定义和生成对应的bean

生成的bean自动注入比如你的dao里去,让你免去一些手工配置+定义bean的一些工作

spring boot + spring + spirng mvc + mybatis + XXX之类的技术去进行开发,后续很多配置和定义的一些繁琐的重复性的工作就免去了,自动装配的一些功能,自动给你把一些事情干完了,不需要你去做了

spring boot关键的一些原理,和架构,画一张图,10来分钟的小视频,对spring boot的来龙去脉,有一个基本的了解和认识,基于spring boot开发的时候,他大致的一个工作流程是什么样子的

main,他自动启动一个内嵌的tomcat


1.1 SpringBoot功能

1) 自动配置


Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。


2) 起步依赖


起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。


简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。


3) 辅助功能


提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。


注意:Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。


2 为什么要学习SpringBoot

2.1 Spring的缺点

配置文件繁琐


引入的依赖过多


配置文件和业务逻辑之间需要频繁的切换


2.2 SpringBoot的优点

提供了默认的最优配置


引入的依赖少


Spring可以不使用XML配置Bean,使用注解注解配置


3 核心功能

3.1 起步依赖

好处:导入一个依赖,这个依赖会引用其他依赖


3.2 自动配置

有默认的配置,启动的时候会使用默认的配置


4 包结构

4.1 Sping Boot 建议的包结构

root package 结构:cn.giftsstore.myProject

myproject
 -src
    - main
         - java
              - cn.giftsstore.myProject
                    - comm
                    - domain
                    - reposoldluory
                    - service
                    - web
                    - Application.java
         - resources
              - static
              - templates
              - application.properties
    - test
 -pom.xml

注意:启动程序默认放到一个目录下而SpringBoot 注解 @SpringBootApplication默认扫描当前类的同包以及子包下的类

如:启动程序在包名 com.yang.test.ymkribbonconsumer下,则会查找所有com.yang.test.ymkribbonconsumer下的文件以及 com.yang.test.ymkribbonconsumer下的所有子包里面的文件。所以不放外面可能会造成扫描不到!


4.2 各包名介绍

Application.java:建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法。

comm:目录建议放置公共的类,如全局的配置文件、工具类等。

domain:目录主要用于实体(Entoldluy)与数据访问层(Reposoldluory)。

reposoldluory:数据库访问层代码。

service:该层主要是业务类代码。

web:该层负责页面访问控制。

resources 目录下:

static:目录存放 Web 访问的静态资源,如 JS、CSS、图片等。

templates:目录存放页面模板(JSP,Thymeleaf)

application.properties:项目的配置信息。

test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置。

采用默认配置可以省去很多设置,当然也可以根据自己的喜好来进行更改。最后,启动 Application main 方法,至此一个 Java 项目搭建好了!

5 快速创建SpringBoot2.0工程

5.1 创建

5.2 测试

5.2.1 编写控制器

package com.oldlu.controller;
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;
@Controller public class QuickStartController {        
    @RequestMapping("/quick")    
    @ResponseBody    
    public String quick(){        
        return "springboot 访问成功!";    
    }    
}

5.2.2 运行项目的启动类

package com.oldlu;
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication 
public class MySpringBootApplication {
    public static void main(String[] args) {    
        SpringApplication.run(MySpringBootApplication.class);    
    }
}

5.2.3 访问页面

打开浏览器访问url地址为:http://localhost:8080/quick

目录
相关文章
|
8月前
|
NoSQL Java 数据库连接
SpringBoot快速入门 3
SpringBoot快速入门
107 0
|
3月前
|
运维 监控 Java
SpringBoot入门知识
SpringBoot入门知识
52 0
|
4月前
|
Java Maven
SpringBoot快速入门
SpringBoot快速入门
43 0
|
7月前
|
开发框架 Java Maven
01SpringBoot入门
01SpringBoot入门
21 0
|
8月前
|
XML Java 数据格式
SpringBoot快速入门 2
SpringBoot快速入门
58 0
|
9月前
|
JSON Java 数据格式
从零玩转SpringBoot3-快速入门2
从零玩转SpringBoot3-快速入门
121 0
|
9月前
|
Java 应用服务中间件 Maven
从零玩转SpringBoot3-快速入门1
从零玩转SpringBoot3-快速入门
186 0
|
10月前
|
XML 前端开发 JavaScript
SpringBoot入门到精通-SpringBoot入门(二)
SpringBoot入门到精通-SpringBoot入门
SpringBoot入门到精通-SpringBoot入门(二)
|
11月前
|
Java 应用服务中间件 项目管理
SpringBoot | 快速入门
SpringBoot | 快速入门
194 0
|
12月前
|
XML Java 开发工具
Springboot快速入门
Springboot快速入门