SpringBoot快速入门

SpringBoot 快速入门(保姆级详细教程) SpringBoot快速入门,保姆级别超详细,解决IDEA创建SpringBoot项目一直转圈圈。 阅读详情

1.sprongboot介绍

        SpringBoot是由Pivotal团队研发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。

        核心思想: 约定大于配置

例如:

        我们需要搭建一个spring web项目的时候就不需要在去繁琐的配置web.xml,加载spring和spring mvc, 配置数据库连接、配置spring事务, 配置加载配置文件的读取,开启注解等

        有了SpringBoot后,只需要导入xxx-start依赖,写上Controller-service-Mapper代码,启动就行.

        SpringBoot就是一个工具集.

官网:Spring Boot

SpringBoot特点:

  • SpringBoot项目不需要模板化的配置。

  • SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。约定大于配置。

  • SpringBoot默认只有一个.properties的配置文件(现在yml形式比较常用),不推荐使用xml,后期会采用.java的文件去编写配置信息。

  • SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置。

  • 后期要学习的微服务框架SpringCloud需要建立在SpringBoot的基础上。

2.快速入门

2.1.选择构建项目的类型

 2.2.指定springboot版本和需要的依赖

 ps: 2.7.13版本创建完项目会报错alimaven找不到依赖,手动将pom文件中版本改成2.7.2

<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.7.2</version>
 <relativePath/> 
</parent>

2.3.导入依赖[会自动导入的]

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

 <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <optional>true</optional>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
 </dependency>

2.4.编写controller

@RestController
public class Demo01TestController {

    @GetMapping("/test")
    public String test(){
 return "Hello SpringBoot!";
    }
}

2.5.测试

主类点击启动类启动 [注意: 启动类要跟其他包平级才行]

 

 启动成功效果和浏览器显示效果

3.springboot的目录结构

3.1.pom.xml文件

  • 指定了一个父工程: 指定当前工程为SpringBoot,帮助我们声明了starter依赖的版本。

  • 项目的元数据:包名,项目名,版本号。

  • 指定了properties信息:指定了java的版本为1.8

  • 导入依赖:默认情况导入spring-boot-starter,spring-boot-starter-test

  • 插件:spring-boot-maven-plugin

3.2.src目录

-src
  -main	  
    -java
      -包名
 启动类.java			# 需要将controller类,放在启动类的子包中或者同级包下,否则需要使用@ComponentScan 注解,并指定扫描的包即可
    -resources
      -static				  # 存放静态资源的,js,css,html
      -templates			  # 存储模板页面的,Thymeleaf,jsp,freemarker
      application.properties  # SpringBoot提供的配置文件,后缀支持2种:1.properties 2.yml(推荐)
  -test   				      # 只是为了测试用的

4.springboot常用注解[重点]

4.1.@Configuration和@Bean

  • 之前使用SSM去开发时,在xml文件中编写bean标签,但是SpringBoot不推荐使用xml文件。

  • @Configuration注解相当于beans标签

  • @Bean注解相当于bean标签

  • id=“方法名 | 注解中的name属性(优先级更高)”

  • class=“方法的返回结果”

@AllArgsConstructor
@NoArgsConstructor
@Data
@ToString
public class User {

    private int id;
    private String username;
    private String password;   
}
//===================================================
@Configuration   // 代表当前类是一个配置类
public class UserConfig {  
    @Bean      // 构建一个实例,放到spring容器中
    public User user(){
      return new User(1,"张三丰","123456");
    }    
    /*
    <beans ....>     @Configuration
 <bean id="user1" class="com.qf.firstspringboot.entity.User" />
    </beans>
     */
}
// ==================================================
// 就可以从容器中获得该对象
@RestController
public class TestController {

    @Autowired
    private User user;

    @GetMapping("/bean")
    public User testBean(){
 		return user;
    }
}

 

 4.2.@SpringBootApplication

@SpringBootApplication就是一个组合注解:

  • @SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类。

  • @EnableAutoConfiguration帮你实现自动装配的,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/spring.factories配置类(已经开启的),通过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载。

    • 好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可。

    • 坏处:如果说你导入了一个starter依赖,那么你就需要填写他必要的配置信息。

    • 手动关闭自动装配指定内容:@SpringBootApplication(exclude = QuartzAutoConfiguration.class)

  • @ComponentScan就相当于<context:component-scan basePackage=“包名” />,帮助扫描注解的

 5.SpringBoot常用配置

5.1.配置文件格式

SpringBoot的配置文件,文件名必须是application,格式支持properties和yml。

更推荐使用yml文件格式:

  1. yml文件,会根据换行和缩进帮助咱们管理配置文件所在位置

  2. yml文件,相比properties更轻量级一些

  3. K: V 表示一对键值对(冒号: 后一定有一个空格)

  4. 以空格的缩进来控制层级关系;只要是左对齐的都是属于一个层级的数据

  5. 属性和值大小写敏感.

yml文件的劣势:

  1. 严格遵循换行和缩进

  2. 在填写value时,一定要在: 后面跟上空格

配置文件的作用

  • 修改SpringBoot的配置的默认值:

    比如默认启动的Tomcat的端口是8080,可以修改为8081

  • 配置文件的位置

        一般默认都是放在resources/下  

 5.2.多环境配置

实际开发中,有三种环境:

1.开发环境-程序员日常开发所需

2.测试环境-项目的集成测试

3.生产环境-最终项目部署的环境,真实环境

SpringBoot支持多环境的配置。只需要根据环境需要,编写多个配置文件,通过配置属性选择使用哪个环境

使用步骤:

1.多环境的配置文件命名:application-环境名.yml

2.在总文件application.yml中通过属性:spring profiles active 环境名

ps:也可在部署工程时,通过 java -jar jar文件 --spring.profiles.active=环境

5.3.获取配置文件信息

解释: 将yml配置的值,赋值给对应的类

方案:

  • 方案一: @ConfigurationProperties [开发中不常用, 源码中常用]

  • 方案二: @Value [比较简单的, 常用]

 方案一: @ConfigurationProperties

# 示例
password:
  slat: sfgagsdgjiajg
  count: 666
@Data //get和set
@Component //表示是spring中的类
@ConfigurationProperties(prefix = "password") //配置属性, password(yml中的前缀)
public class PasswordProperties {

    private String slat;
    private int count;
}
@RestController
public class Demo03TestReadConfigController {
    @Resource
    PasswordProperties passwordProperties;

    @RequestMapping("/value6")
    public void test6(){
        System.out.println(passwordProperties.getSlat());
        System.out.println(passwordProperties.getCount());
    }
}

 方案二: @Value

// yml配置文件内容是一样的
// 不一样的是Java类中使用的注解
@RestController
public class Demo03TestReadConfigController {

    @Value("${password.slat}")
    private String slat; //加盐

    @Value("${password.count}")
    private Integer count; //数量

    //测试
    @RequestMapping("/value")
    public void test3(){
        System.out.println(slat);
        System.out.println(count);
    }

01.springboot快速入门 文章目录1. SpringBoot Quick Start1.1. springboot依赖1.2. 编写SpringBoot引导类1.3. 编写Controller1.4. 测试2. 快速入门解析2.1. 注解解析2.2. SpringBoot工程热部署2.3. 起步依赖分析2.3.1. 分析spring-boot-starter-parent2.3.2. 分析spring-boot-start... 阅读详情

相关推荐

Spring Boot(一):springboot简介 及 快速入门

SpringBoot简介 一、什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。 二、SpringBoot可以做什么 最明显的特点是,让文

weixin_52841956的博客 1171

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇(图文教程) 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费!Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot 是所有基于 Spring Framework 5.0 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 ..

一个老鸟的学习之路 450

图解基站机房:AAU、RRU与BBU之间的线缆连接与规格选择

本文以图解方式详解了5G基站机房中AAU、RRU与BBU三大核心设备之间的线缆连接方案与规格选择。重点阐述了电力线(如2×10 mm²直流电缆)、数据光缆(如野战光缆与波分复用)及射频馈线的功能、选型标准与实战布线法则,为通信工程部署与维护提供清晰指导。

weixin_29306011的博客 499

01-SpringBoot技术快速入门

文章目录简介背景分析解决什么问题有哪些核心特性SpringBoot 项目创建及运行创建项目启动运行项目启动过程概要分析SpringBoot 快速入门实践业务描述API设计分析Bean对象定义及获取运行过程中的BUG分析SpringBoot中的对象特性分析准备工作对象延迟加载对象作用域分析对象生命周期方法SpringBoot 工程依赖注入分析准备工作案例设计及分析代码编写及测试分析测试过程中的BUG分析总结(Summary) 简介 背景分析 JAVAEE应用体系中繁重的配置、低下的开发效率、高难度的三方集成,

雨田说码 6508

自举电容的工作原理-3句话总结

1、一道面试题 照例,先抛出来一道面试题:“Buck电路的SW引脚通常会放置一颗小电容,这颗电容有什么用?”。这个问题问得比较细,非常考验被面试者的硬件基本功。 2、似懂非懂的答案 有小伙伴可能不太清楚这颗电容的作用,回答不上来。也有小伙伴脱口而出:自举电容,用来做升压的。但后面好像说不出来具体逻辑。 没具体了解过,答不上来,也没啥可惜的。但是了解过一点,但又似懂非懂的这种,给出的答案只是轻轻点水或者千篇一律,那无疑是错过了一个加分项。 3、异步Buck的自举环路组成 既然是针对Buck电路讲自举电容,前面

ltqdxl的博客 3万+

【交易系统系列27】带你看懂订单的“奇幻漂流”

作为一个在交易所后台“厨房”里摸爬滚打了十多年的老兵,我将用一杯手冲咖啡的时间,带你亲历一次完整的订单“奇幻漂流”。本文将用一个“奶爸”的生活视角,硬核拆解**撮合(Matching)**、**清算(Clearing)**、**结算(Settlement)**和**出入金**这四大核心环节。这不仅是一次对**交易系统优化**和**撮合引擎架构**的深度剖析,更是一场关于传统金融与数字金融两种不同“上菜”哲学的真实故事。

weixin_43988453的博客 406

SpringBoot基础

SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成application.properties配置文件的配置 能够完成application.yml配置文件的配置 能够使用SpringBoot集成Mybatis 能够使用SpringBoot集成Junit 能够使用SpringBoot集成SpringData JPA 一、SpringBoot简介 1.1 原有Spri

qq_36554778的博客 2507

从零到一,打造你的无人机侦察兵!树莓派+Python+MQTT,实时目标检测全攻略

物联网、人工智能与计算机视觉三大前沿技术的深度融合。

u013558123的博客 1473

springboot中@ConfigurationProperties(prefix = “XXX“)的作用

springboot中@ConfigurationProperties(prefix = "XXX")的作用

TotoroChinchilla的博客 8019

基于Simulink的智能车辆电子稳定控制(ESC)仿真

本文完成了基于 Simulink 的智能车辆电子稳定控制(ESC),实现了:✅ 构建含轮胎非线性的车辆动力学模型✅ 设计滑模横摆稳定性控制器✅ 实现四轮制动力分配逻辑✅ 验证在双移线低附着场景下的卓越稳定性✅ 为主动安全控制系统开发提供完整范式。

xiaoheshang_123的博客 78

Unity 面试篇|(三)设计模式篇 【全面总结 | 持续更新 | 建议收藏】

设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。模式并不是一段特定的代码, 而是解决特定问题的一般性概念。你可以根据模式来实现符合自己程序实际所需的解决方案。常常会混淆模式和算法, 因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。单例模式。

游戏开发小Y的博客 12万+

【JAVA应用实战-SpringBoot】(一)sprinboot基础项目搭建

1)通过swagger-ui.html查看接口文档。2)常见get post请求。

413

MoveIt 运动学、运动规划、混合规划、move_group

混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。

机器人控制与仿真应用 2131

​Springboot快速入门

随便定义一个controller ,用于测试。controller层,这里值得提一嘴的就是@Controller和@RestController注解的区别。@Controller控制器,处理http请求。@RestController注解相当于@ResponseBody+@Controller合在一起的作用,RestController使用的效果是将方法返回的对象直接在浏览器上展示成json格式.

2301_76867680的博客 1263

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

springboot快速入门

springboot快速入门快速入门两种方式开发环境https://start.spring.io/构建使用maven构建 快速入门两种方式 1.访问官网https://start.spring.io/构建 2.使用maven构建 开发环境 jdk:jdk1.8.0_212 maven:apache-maven-3.6.2 springboot版本:2.2.0 https://start.sp...

write less , do more 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

springboot快速入门一篇文章全

目录1、pom.xml2、项目层次3、启动文件【com.item/Action.java】4、controller文件5、启动测试(数据是跨域的) 2、项目层次 其中@RestController = @Controller + @ResponseBody; 5、启动测试(数据是跨域的) 访问路径:【http://127.0.0.1:8080/GetInfo】目录1、修改打包方式2、修改启动文件【Action.java】3、打包命令4、打包效果:在【pom.xml】文件中修改默认的打包方式

红目香薰 5万+

SpringBoot详解——快速入门

久闻Spring Boot大名,这两天终于得空,学习了一把,发觉Spring Boot确实好用,那Spring Boot到底是什么,又是怎么好用呢?什么是Spring Boot。

weixin_68950210的博客 1484

SpringBoot一天快速入门,超级肝货!【一】

目前springboot已经成为主流的框架技术,为了帮助小伙帮更快的掌握SpringBoot,我们搞了SpringBoot的快速入门。 所谓快速入门一定要快,不是三个月,也不是一个月,而是一天。 视频的效果更好,因此视频也安排了。 全部都进行了开源: SpringBoot一天快速入门 1.Spring Boot概述 Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能..

程序员springmeng 5917

Spring Boot 快速入门

SpringBoot快速入门 1 打印hello world 导入依赖 <?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/

呼啦呼啦嘞的博客 1467

spring boot 入门_SpringBoot快速入门

一、Spring介绍1.1、SpringBoot简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个...

weixin_39890431的博客 81

SpringBoot集成MyBatis-Plus快速入门Demo

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。

mickey2007的博客 2884

【SpringBoot】SpringBoot概述,快速入门

【SpringBoot】SpringBoot概述,快速入门1. Spring优缺点分析2. SpringBoot概述2.1 SpringBoot的特点2.2 SpringBoot的核心功能3. SpringBoot快速入门 1. Spring优缺点分析 优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖

来日浅谈的博客 570
上一篇: mysql数据库
Java_dacainiao
博客等级 码龄4年 1粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值