一、IDEA配置MAVEN
1.1首先配置本地仓库
1.2配置阿里云的镜像仓库
<!--阿里云镜像-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
1.3配置IDEA的maven
首先打开settings,然后找到maven,进行如下操作
二、pom.xml文件的说明
<!--项目maven的基本信息
坐标:1.组ID 公司域名倒写
2.项目名称 名称不能重复 不能数字开头
3.项目版本
坐标意义:
1.主要用来用来管理/区分项目
2.项目的打包路径就是坐标的位置.
-->
<groupId>com.jt</groupId>
<artifactId>springboot_demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_demo1</name>
<description>Demo project for Spring Boot</description>
跳过测试类打包
<properties>
<java.version>1.8</java.version>
<!--跳过测试类打包-->
<skipTests>true</skipTests>
</properties>
parent标签的说明
<!--
定位: SpringBoot主要的作用整合SSM,使得框架的使用更加简化
原则: "开箱即用"
parent主要的作用:
1.SpringBoot在内部兼容了当下几乎所有的第三方框架
2.SpringBoot官网已经将所有兼容的版本进行了定义
(几乎解决了版本冲突问题)以后几乎不写版本号
概括: parent标签中管理其他的项目版本信息.
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
<relativePath/>
</parent>
插件说明
<!--SpringBoot项目与Maven整合的一个插件
可以通过插件 执行项目打包/测试/文档生成等操作
注意事项: 该插件不能省略
项目发布时: java -jar xxxx.jar 报错:没有主清单信息!!!!
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
</plugins>
</build>
三、springboot的配置文件的说明
3.1properties文件说明
#数据结构: KEY-VALUE
#数据类型: String类型/Number数值
#语法: 1.key-value使用=号连接
# 2.不需要添加多余的""号
# 3.pro文件在IDEA中的编码格式UTF-8(手动可改)
# pro文件在被程序读取时默认采用ISO-8859-1格式,中文必定乱码
# 4.key=value不要出现多余的空格
server.port=8090
3.2yml文件说明
YML是SpringBoot的核心配置文件, 一般用来整合其他第三方框架,如果将大量的业务数据放到YML中不符合编码规范. 所以将业务数据写到Pro配置文件中.
#数据结构 key-value
#数据类型 String/Number
#语法:
# 1.key:(空格)value
# 2.key与key之间有层级关系,注意缩进
# 3.字符编码都采用UTF-8
# 4.可读性较pro文件 更加友好
server:
port: 8090
3.3属性赋值
3.3.1首先在yml文件中进行属性配置
3.3.2通过controller为属性赋值
3.3.3controller的注意事项
作用:
1.接收用户发起的请求
2.响应用户JSON串数据
1.@ResponseBody 可以将对象转化为JSON串
2.如果返回值为String类型,则返回本身
返回的是一个json串,没有json对象这个说法
3.3.4为属性赋值的意义
1.实现了.java文件与属性赋值的解耦
2.为了实现特定的业务的赋值.
3.SpringBoot整合第三方框架时,如果需要额外的配置文件时,常常采用上述的操作实现. 方便扩展
例如: Redis为属性赋值操作
四、Spring自动装配过程
4.1spring容器说明
说明: Spring容器是在内存中一大块的内存区域,存储Spring管理对象
数据结构: KEY-VALUE结构
数据类型: Map集合
Map详细说明: Key: 类型首字母小写 Value: 对象
4.2依赖注入的原理
1.按照类型注入
按照属性的类型 去Map集中中查找是否有改类型的对象. 如果有则注入.
2.按照名称注入 根据属性的name 去Map集中中查找对应的KEY
@Autowired
@Qualifier(value="李四")
private SpringService springService;
自动装配的规则说明:
1.如果对象在进行实例化.如果对象中的属性被 @Autowired注解修饰,则说明应该先注入属性.
2.先根据属性的类型,查找Map集合中是否有该类型的对象.
3.如果根据类型查找没有找到,则根据属性的名称按照name查找对象.
4.如果上述的方式都没有找到,则报错实例化对象失败.
原则:Spring容器中要求 接口必须单实现. 如果有多实现则通过@Qualifier(“xxxx”)区分即可