IDEA环境配置

1.IDEA环境配置
1.1 项目环境搭建
1.1.1创建工程目录
说明: 创建一个目录,在其中编辑整个第三阶段的代码.
操守: 路径中不要出现中文/空格/特殊字符!!!
要求: 目录不要与其他的项目嵌套!!!
在这里插入图片描述


1.1.2 IDEA管理工作目录
1.项目环境说明

在这里插入图片描述

 

2. IDEA管理新的工作空间
使用File-Open 打开新的目录

在这里插入图片描述
1.2 IDEA环境配置
1.2.1 滚轮缩放

 在这里插入图片描述

 


1.2.2 设定自动提示
说明: 配置该项之后.自动不区分大小写.

在这里插入图片描述
1.2.3 设置参数提示
说明: 设定之后方法中有参数提示.

 在这里插入图片描述

 


1.2.4 设定字符集编码格式

在这里插入图片描述
1.2.5 IDEA自动编译

 在这里插入图片描述

 


1.2.6 IDEA配置Maven
文件: settings文件 本地仓库路径/私服镜像地址

本地仓库路径: 路径注意操守

在这里插入图片描述

 

私服镜像服务器地址

  1. <!--阿里云镜像-->
  2.         <mirror>
  3.             <id>nexus-aliyun</id>
  4.             <mirrorOf>*</mirrorOf>
  5.             <name>Nexus aliyun</name>
  6.             <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  7.          </mirror>


配置Maven

在这里插入图片描述

 

1.2.7 LomBok插件
自行检查是否安装lombok插件

在这里插入图片描述
2 SpringBoot 基本用法
2.1 创建SpringBoot项目
2.1.1 根据插件新建项目

 在这里插入图片描述

 


2.1.2 添加依赖
说明: 只勾选web即可.

在这里插入图片描述
2.1 关于POM.xml文件报错说明
2.1.1 parent文件报错

 

在这里插入图片描述
2.1.2 依赖插件报错

 在这里插入图片描述

 


2.2 关于POM.xml文件说明
2.2.1 mave坐标说明

  1. <!--项目maven的基本信息
  2.         坐标:1.组ID 公司域名倒写
  3.             2.项目名称 名称不能重复 不能数字开头
  4.             3.项目版本
  5.         坐标意义:
  6.                 1.主要用来用来管理/区分项目
  7.                 2.项目的打包路径就是坐标的位置.
  8.     -->
  9.     <groupId>com.jt</groupId>
  10.     <artifactId>springboot_demo1</artifactId>
  11.     <version>0.0.1-SNAPSHOT</version>
  12.     <name>springboot_demo1</name>
  13.     <description>Demo project for Spring Boot</description>


2.2.2 mave 命令
常规用法:
1. 配置maven环境变量
2. 通过dos命令窗口 执行命令. 几乎不用

在这里插入图片描述
IDEA插件方式: 

 

  1. clean 清空项目编译之后的文件class(位于target目录中)
  2. install 将项目中的target中的class进行打包 xxx.jar     install时会将测试类一同打包.所以需要注意代码正确性.
  3. 跳过测试类打包
  4.  <properties>
  5.         <java.version>1.8</java.version>
  6.         <!--跳过测试类打包-->
  7.         <skipTests>true</skipTests>
  8.     </properties>


2.2.3 maven打包没有生成target目录的说明
如果遇到上述的错误,则去本地仓库中根据项目路径 查找jar包.

在这里插入图片描述
2.2.4 parent标签作用

  1.  <!--
  2.         定位: SpringBoot主要的作用整合SSM,使得框架的使用更加简化
  3.         原则: "开箱即用"
  4.         parent主要的作用:
  5.                1.SpringBoot在内部兼容了当下几乎所有的第三方框架
  6.                2.SpringBoot官网已经将所有兼容的版本进行了定义
  7.                 (几乎解决了版本冲突问题)以后几乎不写版本号
  8.         概括: parent标签中管理其他的项目版本信息.
  9.     -->
  10.     <parent>
  11.         <groupId>org.springframework.boot</groupId>
  12.         <artifactId>spring-boot-starter-parent</artifactId>
  13.         <version>2.5.2</version>
  14.         <relativePath/>
  15.     </parent>


2.2.5 dependency说明

  1. <!--原则: 按需导入  -->
  2.     <dependencies>
  3.         <dependency>
  4.             <groupId>org.springframework.boot</groupId>
  5.             <!--springboot启动项(器)在包的内部SpringBoot
  6.             已经完成了项目的"整合"(配置) 用户拿来就用
  7.             web导入SpringMVC
  8.             -->
  9.             <artifactId>spring-boot-starter-web</artifactId>
  10.         </dependency>
  11.  
  12.         <dependency>
  13.             <groupId>org.springframework.boot</groupId>
  14.             <artifactId>spring-boot-starter-test</artifactId>
  15.             <scope>test</scope>
  16.         </dependency>
  17.     </dependencies>



2.2.6 插件说明

  1.   <!--SpringBoot项目与Maven整合的一个插件
  2.         可以通过插件 执行项目打包/测试/文档生成等操作
  3.         注意事项: 该插件不能省略
  4.         项目发布时: java -jar xxxx.jar  报错:没有主清单信息!!!!
  5.     -->
  6.     <build>
  7.         <plugins>
  8.             <plugin>
  9.                 <groupId>org.springframework.boot</groupId>
  10.                 <artifactId>spring-boot-maven-plugin</artifactId>
  11.                 <version>2.5.2</version>
  12.             </plugin>
  13.         </plugins>
  14.     </build>


3 SpringBoot 高级用法
3.1 关于配置文件语法说明
3.1.1 properties 语法说明

  1. #数据结构: KEY-VALUE
  2. #数据类型: String类型/Number数值
  3. #语法:    1.key-value使用=号连接
  4. #        2.不需要添加多余的""号
  5. #        3.pro文件在IDEA中的编码格式UTF-8(手动可改)
  6. #          pro文件在被程序读取时默认采用ISO-8859-1格式,中文必定乱码
  7. #        4.key=value不要出现多余的空格
  8. server.port=8090


3.1.2 YML 语法说明

  1. #数据结构 key-value
  2. #数据类型 String/Number
  3. #语法:
  4. #    1.key:(空格)value
  5. #    2.key与key之间有层级关系,注意缩进
  6. #    3.字符编码都采用UTF-8
  7. #    4.可读性较pro文件 更加友好
  8. server:
  9.   port: 8090


3.2 属性赋值
3.2.1 业务需求
说明: 如果将数据直接写死到.java文件中,如果需要修改,则重新编译打包.不方便.如何优化??
优化: 通过配置文件动态为属性赋值!!!

在这里插入图片描述
3.2.2 YML为属性赋值
3.2.2.1 编辑YML配置文件
说明: Spring负责管理YML文件中的数据.

 在这里插入图片描述

 


3.2.2.2 Controller为属性赋值

  1. /**
  2.  * 1.接收用户发起的请求
  3.  * 2.响应用户JSON串数据
  4.  *   1.@ResponseBody 可以将对象转化为JSON串
  5.  *   2.如果返回值为String类型,则返回本身
  6.  *   纠正: A.JSON串
  7.  */
  8. @RestController
  9. public class HelloController {
  10.     //private String day="1天";
  11.     /**
  12.      * 规则:从Spring容器根据key获取数据,之后为属性赋值
  13.      * 语法: spel表达式    ${key}
  14.      */
  15.     @Value("${user.day}")
  16.     private String day;
  17.     @RequestMapping("/getMsg")
  18.     public String getMsg(){
  19.         return "这个雨下几天:"+day;
  20.     }
  21. }


3.2.3 Pro为属性赋值
3.2.3.1 需求说明
YML是SpringBoot的核心配置文件, 一般用来整合其他第三方框架,如果将大量的业务数据放到YML中不符合编码规范. 所以将业务数据写到Pro配置文件中.

3.2.3.2 准备pro配置文件在这里插入图片描述
3.2.3.3 编辑pro配置文件

package com.jt.controller;

 

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 1.接收用户发起的请求
 * 2.响应用户JSON串数据
 *   1.@ResponseBody 可以将对象转化为JSON串
 *   2.如果返回值为String类型,则返回本身
 *   纠正: A.JSON串
 */
@RestController
//spring容器启动时,动态添加配置文件 一般需要修改字符集
//关于注解赋值:  1.必须满足key-value结构
//             2.如果属性只有一个并且是value属性,则可以省略不写
//             3.如果还是乱码则检查IDEA pro字符集编码格式
@PropertySource(value="classpath:/person.properties",encoding="UTF-8")
public class HelloController {

    //private String day="1天";
    /**
     * 规则:从Spring容器根据key获取数据,之后为属性赋值
     * 语法: spel表达式    ${key}
     */
    @Value("${user.day}")
    private String day;
    @Value("${person.name}")
    private String name;

    @RequestMapping("/getMsg")
    public String getMsg(){

        return "这个雨下几天:"+day+name;
    }
}


3.2.4 为属性赋值意义

  1. 实现了.java文件与属性赋值的解耦
  2. 为了实现特定的业务的赋值.
  3. SpringBoot整合第三方框架时,如果需要额外的配置文件时,常常采用上述的操作实现. 方便扩展
    1.         Redis为属性赋值操作

3.3 程序热部署
开发阶段: 码农编码环节. 只对开发阶段有效
生产阶段: 甲方将项目实际上线使用.

3.3.1 添加jar包

  1.     <!--支持热部署 -->
  2.     <dependency>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-devtools</artifactId>
  5.     </dependency>


3.3.2 IDEA配置
组合键: ctrl + shift + alt + / 或者 ctrl + alt + a

在这里插入图片描述

 

勾选热部署:

在这里插入图片描述
3.4 框架关系

 在这里插入图片描述

 


3.5 Spring自动装配过程
3.5.1 Spring"容器"
说明: Spring容器是在内存中一大块的内存区域,存储Spring管理对象
数据结构: KEY-VALUE结构
数据类型: Map集合
Map详细说明: Key: 类型首字母小写 Value: 对象

3.5.2 依赖注入的原理
1.按照类型注入
按照属性的类型 去Map集中中查找是否有改类型的对象. 如果有则注入.

2.按照名称注入 根据属性的name 去Map集中中查找对应的KEY

    @Autowired
    @Qualifier(value="李四")
    private SpringService springService;

自动装配的规则说明:
1.如果对象在进行实例化.如果对象中的属性被 @Autowired注解修饰,则说明应该先注入属性.
2.先根据属性的类型,查找Map集合中是否有该类型的对象.
3.如果根据类型查找没有找到,则根据属性的名称按照name查找对象.
4.如果上述的方式都没有找到,则报错实例化对象失败.

原则:Spring容器中要求 接口必须单实现. 如果有多实现则通过@Qualifier(“xxxx”)区分即可
————————————————
版权声明:本文为CSDN博主「闪耀太阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16804847/article/details/118960893

  • 2
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值