2024年Java最新GitCGBIII-02-SpringBoot高级用法,挑战阿里社招

最后

针对以上面试题,小编已经把面试题+答案整理好了

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

面试专题

image

除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习

image

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

问:在Linux系统中运行项目,是否需要提前安装插件?

答案:不要。因为lombok在编译期有效,由xxx.java文件编译为xxx.class文件时,已经动态添加了set/get等方法,所以在项目发布时(xxx.class文件组成的xxx.jar)不需要安装lombok环境。

1.3 SpringBoot测试环境说明


1.3.1 需求说明

调用流程:

UserController------->UserService中的方法---------->获取返回值

需求:

由于编辑UserController的同事不在,所以Controller的方法无法得知,导致自己写的Service无法测试。

解决方案:

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

1.3.2 @SpringBootTest的用法

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

1.3.3 测试类入门案例

@SpringBootTest

class SpringbootDemo1ApplicationTests {

@Autowired

private UserController userController;

@Test

void contextLoads() {

String msg = userController.getMsg();

System.out.println(msg);

}

1.4 Spring容器内存结构


1.4.1 SpringBoot加载器顺序

  1. 当用户点击main方法时,启动程序(开始)。

  2. SpringBoot程序开始加载主启动类上的注解@SpringBootApplication(SpringBoot内部运行机制开始执行)。

  3. 当SpringBoot程序开始执行,则会动态的获取当前主启动类的包路径(con.jt)。

  4. 通过包扫描机制,将特定的注解标识的类(Controller/Service/Dao)交给Spring容器管理。

  5. Spring容器维护的是一个Map集合<K,V>,key:类名首字母小写(userController),value:实例化的对象。例如:Map<userController,UserController的实例化对象>。

  6. 当对象创建时(实例化),遇到@Autowired则需要依赖注入对象,当整个Spring容器内部都没有该对象时,则会报错注入失败,如果Map中维护了需要注入的对象,则会注入成功,等待用户的调用。

1

1.5 SpringBoot整合Mybatis


1.5.1 创建项目

1

1.5.2 添加jar包

org.springframework.boot

spring-boot-starter-parent

2.5.3

com.jt

springboot-demo2

1.0-SNAPSHOT

<java.version>1.8</java.version>

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-devtools

org.projectlombok

lombok

mysql

mysql-connector-java

org.springframework.boot

spring-boot-starter-jdbc

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

org.springframework.boot

spring-boot-maven-plugin

1.5.3 编辑主启动类

@SpringBootApplication

@MapperScan(“com.jt.mapper”) //通过包扫描机制,设定该路径下的所有类,Spring会为其创建代理对象(实质为接口的实现类)

public class MybatisApplication {

public static void main(String[] args) {

SpringApplication.run(MybatisApplication.class, args);

}

}

1.5.4 编辑POJO实体类

1

1.5.5 编辑Mapper接口

1

1.5.6 编辑Mapper配置文件 —— UserMybatis.xml映射文件

<?xml version="1.0" encoding="UTF-8" ?>

select * from demo_user

insert into demo_user(id,name,age,sex) value(null,#{name},#{age},#{sex})

select * from demo_user where id= #{id}

update demo_user set name=#{name},age=#{age},sex=#{sex} where id = #{id}

1.5.7编辑application.yml配置文件

server:

port: 8090

#spring整合数据源 最快的数据源

spring:

datasource:

#使用高版本驱动时使用cj

#serverTimezone=GMT%2B8 东8区 %2B +号

#&useUnicode=true&characterEncoding=utf8 是否开启unicode编码/utf-8

#&autoReconnect=true 断线是否重连

结尾

查漏补缺:Java岗 千+道面试题Java基础+全家桶+容器+反射+异常等

这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。

由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。

由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值