ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CGB第三阶段DAY02

2021-07-18 11:34:50  阅读:190  来源: 互联网

标签:第三阶段 SpringBoot 对象 DAY02 CGB jar 5.2 注解 lombok


CGB第三阶段DAY02

2021.6.24

1、SpringBoot高级用法

1.1、SpringBoot热部署

1.1.1、热部署说明

每次修改代码修改之后,需要手动的重启服务器.。在***开发阶段***有一种高效的机制. 每次修改代码之后程序自动重启。

1.1.2、添加jar包文件

<!--SpringBoot核心机制: "开箱即用"
        只需导入特定的jar包文件 则可以直接使用其中的功能
        根本原因: SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作.
        -->
        <!--支持热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

2、lombok插件

2.1、lombok作用

作用:简化用户常见实体对象pojo的过程,由插件自动完成实体对象中常用方法的构建
代码:@Data
@NoArgsConstructor
@AllArgsConstructor

2.2、lombok链式加载

//注解的作用: 动态的生成get/set/toString....方法
@Data   //一般为属性赋值 get/set方法
@NoArgsConstructor  //无参构造
@AllArgsConstructor //全参构造
@Accessors(chain = true) //开启链式加载(重写set方法)

2.3、lombok面试题

思考: lombok使用需要安装插件.
问:在Linux系统中运行项目 是否需要提前安装插件?
答案: 不要
原因: lombok在
编译期有效
**, 由xxx.java文件 编译为xxx.class文件时,已经动态添加了set/get等方法.所以在项目发布的时候( xxx.class文件组成的xxx.jar) ,所以不需要安装lombok环境

3、SpringBoot测试环境说明

3.1、测试环境

SpringBoot由于开发中需要经常编译测试方法,为了降低代码联调的代价.则SpringBoot提供了专门用于测试的注解 @SpringBootTest

3.2、@SpringBootTest用法

如果测试方法中添加了该注解,则当执行@Test注解方法时,则Spring容器将会启动,启动之后将所有需要依赖注入的信息完整构建.之后用户有针对性的挑选需要测试的代码 测试即可。

4、Spring容器内存结构

4.1、SpringBoot加载器顺序

1、当用户点击main方法时启动程序.(开始)
2、SpringBoot程序开始加载主启动类上边的注解@SpringBootApplication(SpringBoot内部运行机制开始执行)
3、当SpringBoot程序开始执行,则会动态的获取当前主启动类的包路径.(com.jt)
4、通过包扫描的机制 将特定的注解标识的类(Controller/Service/Dao).交给Spring容器管理.
5、Spring容器维护的是一个Map集合 <K,V>
		key: 类名首字母小写 userController
		value: 实例化的对象
		例子: Map<userController,UserController的对象>
6、当对象创建时(实例化),遇到@Autowired 则需要依赖注入对象,当整个Spring容器内部都没有该对象时,则会报错 注入失败. 如果Map中维护了需要注入的对象,。@Autowired 注入成功, 则最终对象实例化正常.
7当上述的操作都运行成功之后则spring容器启动成功,等待用户的调用.

在这里插入图片描述

5、SpringBoot整合Mybatis

5.1、步骤

1、创建项目
2、添加jar包
3、编辑主启动类
4、编辑pojo对象
5、编辑Mapper接口
6、编辑测试类
7、编辑Mapper配置文件
8、编辑YML配置文件

5.2、SpringBoot整合Mybatis核心

5.2.1、编辑jar包

当SpringBoot 程序启动时,会加载pom.xml文件中指定的jar包文件.。根据开箱即用的原则 则开始执行Mybatis代码。

		 <!--spring整合mybatis  暂时  -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

5.2.2、编辑YML文件

SpringBoot程序加载jar包文件之后,通过YML配置文件实现数据的填充,配置Mybaits相关信息。

#SpringBoot整合Mybatis配置
mybatis:
  #设置别名包
  type-aliases-package: com.jt.pojo
  #加载映射文件
  mapper-locations: classpath:/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

5.2.3、为接口创建代理对象

使用@Mapper注解 为该接口创建代理对象

5.2.4、编辑测试类

@SpringBootTest
public class TestMybatis {

    //明确:注入一定是对象
    //SpringBoot为了整合mybatis,简化代码结构 Spring动态的为Mybatis的接口
    //创建代理对象
    //代理: 根据原有对象的模型,在运行期动态创建了一个一模一样功能的实例化对象
    //案例: 孙悟空(接口)/克隆一个一模一样的对象
    @Autowired
    private UserMapper userMapper;

    @Test
    public void testFind(){
        System.out.println(userMapper.getClass());
        List<User> userList = userMapper.findAll();
        System.out.println(userList);
    }
}

5.2.5、@MapperScan说明

在这里插入图片描述

5.2.6、环境自动注入报错说明

在MApper接口中添加@component注解
在这里插入图片描述

标签:第三阶段,SpringBoot,对象,DAY02,CGB,jar,5.2,注解,lombok
来源: https://blog.csdn.net/SUUNLIGHTED/article/details/118873331

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有