SpringBoot学习笔记

SpringBoot简介

微服务阶段

javase:OOP
mysql:数据持久化
html+css+js+jQuery+框架:视图,框架不熟练,css不好;
javaweb:独立开发MVC三层架构的网站;原始
ssm:框架:简化了我们的开发流程,配置开始较为复杂
jar:tomcat运行
spring再简化:SpringBoot.jar:内嵌tomcat;微服务架构!
springcloud:服务越来越多;

SpringBoot简介

spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
4种关键策略:

  1. 基于POJO的轻量级和最小侵入性编程;
  2. 通过IOC,依赖注入(DI)和面向接口实现松耦合
  3. 基于切面(AOP)和惯例进行声明式编程;
  4. 通过切面和模板减少样式代码

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:

  1. 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
  2. 内嵌Tomcat或Jetty等Servlet容器;
  3. 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
  4. 尽可能自动配置Spring容器;
  5. 提供准备好的特性,如指标、健康检查和外部化配置;
  6. 绝对没有代码生成,不需要XML配置。

SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。

什么是微服务架构

微服务是一种架构风格,它要求我们在开发一个应该的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。
微服务架构打破了all in one的方式,把每个功能元素独立出来。把独立出来的功能元素动态组合,需要的元素才拿来组合,也以整合多个功能元素。微服务架构是对功能元素进行复制,而没有对整个应用进行复制。
微服务论文
这样做的好处在于:

  • 节省了调用资源
  • 每个功能元素的服务都是可替换的,可独立升级的软件代码

SpringBoot搭建

第一个SpringBoot程序

使用 IDEA 直接创建项目

  1. 创建一个新项目
  2. 选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
  3. 填写项目信息
  4. 选择初始化的组件(初学勾选 Web 即可)
  5. 填写项目路径
  6. 等待项目构建成功

编写一个http接口

  1. 在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到

  2. 在包中新建一个HelloController类

@RestController
public class HelloWord {
    @RequestMapping("/helloword")
    public String helloword()
    {
        return ("<h1>hello world</h1>");
    }
}

3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!
在这里插入图片描述
简单几步,就完成了一个web接口的开发,SpringBoot就是这么简单。所以我们常用它来建立我们的微服务项目!

SpringBoot原理

自动装配

pom.xml

  • spring-boot-dependencies:核心依赖在父工程中
  • 在写或是引入一些SpringBoot依赖的时候,不需要指定版本,因为有这些版本仓库

启动器

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

说白了就是Springboot的启动场景;
比如spring-boot-starter-web,它会自动帮我们导入web环境的所有依赖!
springboot会将所有的功能场景,变成一个个的启动器。

主程序启动器
@SpringBootApplication:标注这个类是一个springboot的应用,启动类的下的所有资源被导入

@SpringBootConfiguration:springboot的配置
	@Configuration:spring配置类
	@Component:说明这也是一个spring的组件
@EnableAutoConfiguration:自动配置
	@AutoConfigurationPackage:自动配置包
		@Import({Registrar.class}):导入包注册器
	@Import({AutoConfigurationImportSelector.class}):自动配置导入选择
	未完...
  1. SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值

  2. 将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作;

  3. 整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中;

  4. 它会给容器中导入非常多的自动配置类 (xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 , 并配置好这些组件 ;

  5. 有了自动配置类 , 免去了我们手动编写配置注入功能组件等的工作;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值