Spring Boot 整理

SpringBoot作为简化Spring开发的框架,提供了自动配置、便捷的starter依赖,及独立运行能力,极大提升了开发效率。本文深入解析SpringBoot如何简化Maven配置,自动配置Bean,以及与Spring、SpringMVC的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:

是一个简化spring开发的框架,习惯大于配置,整合了许多框架,不需要手动编写xml配置,只需要引用starter依赖就可以使用,那为什么使用spring boot?

  1. 可以创建独立运行的项目,不需要打成war包,通过jar运行

  2. 可以使用starter来简化maven配置,想使用什么就引用什么依赖就可以使用,简洁便利

  3. 自动配置bean

  4. 不需要配置xml,无代码生成

     代码生成:把语法分析后或优化后的中间代码转化成目标代码(可执行的机械语言代码)
    

Spring、SpringMVC、SpringBoot

  1. Spring框架就像一个家族,有很多成员比如说boot、security、jpa等,但是他们都是基于Spring的ioc和aop来实现的
  2. Spring MVC 是一个轻耦合的来开发web应用的框架
  3. SpringBoot是因为在使用Spring的时候需要大量配置,于是为了简化配置,降低项目搭建的复杂度,就出现了能够自动装配的SpringBoot,。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用,大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
  4. 可以这么说:Spring是一个引擎,SpringMVC是一个基于Spring的MVC框架,SpringBoot是一个基于Spring的快速开发整合包
spring-boot-starter

是springboot的核心,帮助我们导入所需要的组建
spring-boot-starter-parent:可以控制所有依赖的版本,导入依赖就可以不用写版本
spring-boot-starter-web:导入web相关的jar包
spring-boot-starter-test:程序的测试依赖
spring-boot-starter-aop:支持spring aop
spring-boot-starter-data-redis:支持redis

入口类
  • @SpringBootConfiguration:初始化容器的时候读取配置类的文件到容器中,在配置类上添加@Configuration注解,初始化时就可以添加到容器中
  • @EnableAutoConfiguration:可以根据添加的jar包自动配置配置信息
  • @ComponentScan:扫描组件所在的包,默认扫描同级下所有的包及其子包
yml和properties

properties:key-value形式,使用".",相同的级别不需要配置在一起
yml:层级结构分明,使用":",相同的级别必须配置在一起

配置文件中的配置
配置说明
spring.profiles.active=test根据环境读取配置文件
server.port=8090端口号
server.context-path=project访问路径名称
spring.application.name=testeureka注册服务名称
eureka.instance.preferIpAddress=true是否将自己的ip注册到eureka
eureka.client.service-url.defaultZone=http://ip:port/eureka/服务注册地址
spring.cloud.config.discovery.enabled=true从配置中心获取配置文件
spring.cloud.config.discovery.service-id=config-server订阅的获取配置文件的工程的服务名称
spring.cloud.config.name=client配置中心的分支配置文件名称
spring.cloud.config.label=test分支配置文件下的文件夹名称
spring.cloud.config.profile=test指定当前环境
mybatis.mapperLocations=classpath:mapper/*/*Mapper.xmlMyBatis路径配置
mybatis.configLocation=classpath:config/mybatis.xmlMyBatis环境配置
feign.hystrix.enabled=true开启hystrix
ribbon.ReadTimeout=60000ribbon的超时时间
ribbon.ConnectTimeoutribbon请求连接的超时时间
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000hystrix超时时间
hystrix.threadpool.default.coreSize=500hystrix并发执行的线程数,默认为10
feign.client.config.feignName.connectTimeout=5000feign连接的超时时间
feign.client.config.feignName.readTimeout=5000feign的读取超时时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值