springboot入门详解

springboot不是一个新的框架,他是一种技术,是对现有框架spring缺点的一些完善。

spring框架存在的缺点:

  • Spring的组件代码是轻量级的,但它的配置却是重量级的,一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。
    除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。
  • 缺点总结:pom依赖难以选择合适版本,与其他框架整合困难,配置文件太多。

springboot解决两大缺点的技术要点:

  • 约定优于配置思想。

比如说集成tomcat,我们以前需要在和spring整合以后继续配置端口号,和应用contextpath,这些重复的每个人敲代码都需要配置的就相当于一种约定,约定大于配置,就是说这些配置springboot在一个专门的配置类之中都帮我们定义了,如整合mybaties工厂我们不用配,事务我们不用配,整合redis我们不需要管配置,直接用就好。如果需要修改固定配置,在datasource包下配置yml文件即可更改配置。

- 常用pom依赖打包处理。
如,如果我们需要用到web只需要在pom文件中导入:

  • 起步依赖(必须)
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
  • web模块的依赖

     <!--web功能的起步依赖-->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
    

总结:我们不需要再考虑兼容性问题,springboot搞了模块话管理并解决了冲突问题。

关于springboot的注解:
在我们使用springboot时候需要配置一个起步类,并在类上面写一个注解@SpringBootApplication这个注解能分成三个注解有三个作用:

//说明他是一个配置类
@SpringBootConfiguration
//加载约定大于配置的配置项
@EnableAutoConfiguration
//扫描配置了@SpringBootApplication的类所在的包和下面所有的子包
@ComponentScan

配置文件与配置类的属性映射:
第一种方式:

//如在yml配置实体类如下
person:
	name: zhangsan
	age: 181
//那么在注入实体类属性时候应该这么注入,此时属性名称随便起
@Value("${person.name}")
private String name;
@Value("${person.age}")
private Integer ag

第二种方式:

//如注入属性过多可以如此配置,这个时候yml的名字应该和要注入的属性名字保持一致。
@ConfigurationProperties(prefix = "person")
public class QuickStartController {
	private String name;
	private Integer age;
}

SpringBoot工程的热部署:

//我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大
量的时间,我们可以在修改代码后不重启就能生效,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称
之为热部署。
<!--热部署配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>

注意:IDEA进行SpringBoot热部署失败原因出现这种情况,并不是热部署配置问题,其根本原因是因为Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置,如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值