SpringBoot入门,第一个SpringBoot的创建
一。什么是SpringBoot
1.SpringBoot基于Spring开发,继承SpringAOP和SpringIOC
优点:约定大于配置(很多默认的配置),可以开箱即用
1.简化Spring框架的开发
2.对整个企业级开发有一个大的整合build
3.一站式 解决方案(内嵌tomcat)
优点:
1.快速构建一个独立的Spring应用程序
2.内嵌tomcat
3.提供 start poms来简化maven配置,start相当于一个工具箱,能够引入相关的依赖,并和spring boot的版本相适配
二。什么是微服务?
把所有的功能元素独立起来,独立出来的元素进行动态的组合,需要的功能元素才能拿出来组合。
微服务是对功能元素进行复制,并没有对整个应用进行复制(很明显的就是启动ssm的项目通常比较缓慢,但是启动springboot的项目比较快)
微服务是指开发单个小型的但又业务功能的服务,但是可以将这些服务部署到单个或者多个服务器里;微服务每个项目的主体都是可独立替换,可升级的软件单元
把每个模块单独拿出来

微服务优点
1.每一个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
2.微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。
3.微服务是松耦合的,是有功能意义的服务,无论是开发阶段或是部署阶段都是独立的。
4.微服务能够使用不同的语言开发。(一个项目中可以用java,同时使用python,最后集成到一块就可以了)
5.微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,一个团队的新成员能够更快投入生产。
6.微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果,微服务能够即时被要求扩展。微服务能够部署中低端配置的服务。
7.易于和第三方集成。每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库。
微服务缺点
微服务架构可能带来过多的操作 可能双倍的努力
分布式系统可能复杂难以管理因为分布部署跟踪问题难当服务量增加,管理复杂性增加
三。第一个SpringBoot项目
1。在idea创建,环境:idea2021 jdk1.8
A.
B. Server URL可变成阿里云的镜像https://start.aliyun.com/

C.点击Next,之后再选择SpringWeb(这里注意Spring2.x的版本,可以使用java1.8;3.x以上的版本需要java17及以上的版本,如果这里配置有错误,可以后面成功之后去pom.xml中改版本)

去pom.xml中修改版本(项目创建成功之后)
a.修改spring-boot的版本

b.修改java的版本

D.成功之后,会出现4个关键的文件
1.主启动类FirstSpringBootApplication
2.pom.xml
3.application.pproperties配置类;
4.测试类FirstSpringBootApplicationTests

file,---》Settings如果版本下载不下来,可以变为国外的仓库

E。FirstSpringBootAapplication
重点:@SpringBootApplication由三个注解组成,
1.@Configuration,标志类是个配置类(类似xml中的<bean>)
2.@EnableAutoConfiguration,能够开启SpringBoot自动配置的功能。能够自动配置相关的组件(如tomcat,springMVC),避免手动大量的导入
3.@ComnentScan,开启组件扫描,自动扫描当前类所在包以及子包下的@Service,@Controller等被注解标注的类,并将其变为Spring容器的bean。
package com.qcby.firstspringboot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class FirstSpringBootApplication {public static void main(String[] args) {SpringApplication.run(FirstSpringBootApplication.class, args);
// System.out.println("Hello World");}}
F。application.properties,可以配置端口号,默认为8080

G。controller层
package com.qcby.firstspringboot.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@RequestMapping
public class HelloController {
// 将方法的返回值直接以指定的格式@ResponseBody@RequestMapping("/hello")public String hello(){return "hello,world";}
}
成功启动之后,有这个

