目录
什么是注解
- Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能
- 注解本质上继承 Annotation 接口,我们可以通过反射获取注解的相关信息,从而做些逻辑操作
- springboot里面大量使用了注解,@Controller 、@RestController 、@Service、 @Autowire 等
什么是Spring框架
-
什么是Spring:轻量级的 DI / IoC 和 AOP 容器的开源框架
-
bean
-
有啥好处:
管理创建和组装对象之间的依赖关系, 加了spring注解的类会自动创建一个实例,加到IOC容器里面,然后看哪里需要它,就自动赋值过去
使用前:手工创建 (从控制器层到业务层一步一步new)
Controller = > Service => Dao
UserControoler
private UserService userService = new UserService();
使用后:Spring创建,自动注入(只需要使用注解 不需要new)
Controller = > Service => Dao
UserControoler
@Autowire
private UserService userService ;
SpringBoot和SpringClound的关系
SpringClound是基于SpringBoot进行开发大量微服务开发
单体应用
-
开发速度慢
-
启动时间长
-
依赖庞大
微服务
-
易开发、理解和维护
-
独立的部署和启动
-
问题:
-
分布式系统-》分布式事务问题
-
需要管理多个服务-》服务治理
-
SpringBoot在SpringMVC的基础上进行优化添加了注解进行开发
-
新版SpringBoot2.X介绍
-
相关软件环境和作用
-
JDK1.8+以上
-
Maven3.5+
-
编辑器IDEA(旗舰版)
-
PostMan(模拟发起请求,用于调试接口)
-
翻译神器
-
一些开发工具的下载https://xdclass.net/#/tool
常见的SpringBoot项目开发方式
打开https://spring.io/guides/gs/spring-boot/
使用其中的pom配置
<?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/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 在线创建 :https://start.spring.io/
学习新技术推荐的解决方式
-
善于利用搜索引擎
-
抓住问题核心点,【掌握搜索词提取】
- 百度
- 谷歌
- IT大站,比如CSDN,博客园等
-
例子:Java自定义异常
-
-
学习遇到常见问题和解决办法
-
资料网站地址失效
- 通过主要入口进行寻找
-
版本不一致导致失败
- 网站和软件经常更新,大体一致就行,不影响学习
-
网络导致包下载很慢
- 更好的网络环境,第一次加载都是很慢,需要下载很多包
- 更改Maven仓库地址
-
按照视频步骤,创建和运行失败
- 导入课程代码运行 -> import project , 从maven项目选择
- 对比课程代码有什么异同和细小遗漏
-
-
课程代码导入步骤
-
IDEA导入课程代码
- 解压课程代码
- 导入IDEA
-