当前位置: 首页 > wzjs >正文

常用来做网站首页的是北京百度seo点击器

常用来做网站首页的是,北京百度seo点击器,做一样的模板网站会被告侵权吗,上海网站怎么备案目录 一,背景 二,知识回顾 2.1 理解使用反射技术,读取配置文件创建目标对象(成员变量,方法,构造方法等) 三,springboot自动配置 3.1 反射在自动配置中的工作流程 3.2 浏览源码…

目录

一,背景

二,知识回顾

2.1 理解使用反射技术,读取配置文件创建目标对象(成员变量,方法,构造方法等)

三,springboot自动配置

3.1 反射在自动配置中的工作流程

3.2 浏览源码,逐步浏览spring boot自动配置

 四, 理解 starter 

4.1 自定义starter 


一,背景


一直以来,我们在完成spring boot项目中,一直遵循 固定的模式:

1,向pom文件引入依赖(starter)

2 ,使用依赖 的注解

3 ,观察引入的注解,是否报错,如果没有报错,编译运行观察结果

4 如果报错结合 自己所学知识+Ai辅助

至于这个注解,是怎么生效的,何时起作用,我们并没有关注,但实际上spring boot已经帮我们做好了。


今天,我就要和大家一起,深挖在spring boot 中,我们使用的注解 是怎么起作用的?----------------spring boot自动配置


二,知识回顾

在学习spring boot自动配置 之前,我们先要复习以下:通过配置文件动态创建对象

2.1 理解使用反射技术,读取配置文件创建目标对象(成员变量,方法,构造方法等)

配置文件+反射技术 应用场景:

实际开发中,当我们项目部署到服务器,一般情况下,不允许重新部署,但我们想要开发新的功能,可以使用配置文件+反射相结合完成新功能的添加与修改。


案例

背景:原本创建 🐺,🐏 对象实现动物接口,并在测试类中运行方法。但在运行后,才发现:还没有创建 狼对象,于是使用反射+配置文件读取的方式,实现对狼的创建

util工具类 :读取 配置文件内容

package com.it.heima;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class util {public static String readProperties() {Properties properties = new Properties();String path = null;try(// 获取配置文件流InputStream resourceAsStream = test.class.getClassLoader().getResourceAsStream("data.properties")){properties.load(resourceAsStream);path = properties.getProperty("wolf");
//            System.out.println(path);} catch (IOException e) {e.printStackTrace();}return path;}
}

data.properties配置文件

test测试类

package com.it.heima;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;public class test {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {Sheep sheep = new Sheep();sheep.run();sheep.eat();sheep.sleep();System.out.println("--------------------------");String path = util.readProperties();Wolf wolf = (Wolf)Class.forName(path).newInstance();wolf.run();wolf.eat();}
}
测试结果:
绵羊跑跑~~~~~~~~
绵羊吃吃~~~~~~~~
绵羊睡觉~~~~~~~~
--------------------------
com.it.heima.Wolf
狼跑~~~~~~~~~~~
狼吃羊~~~~~~~

"上面这个案例展示了反射的基本用法 —— 通过配置文件动态创建对象。而 Spring Boot 的自动配置,本质上就是把这个过程标准化、规模化:框架通过反射读取类路径、注解和配置文件,自动为我们创建和配置各种 Bean,这就是我们接下来要深入探讨的内容。"


三,springboot自动配置

3.1 反射在自动配置中的工作流程

1,类路径扫描:Spring Boot 会扫描类路径下的所有类,找出带有特定注解的类。@compoentscan注解
2,条件评估:通过反射检查类、方法或者字段的存在情况,以此确定是否应用某项配置。@Condition衍生注解+@Bean
3,实例化 Bean:利用反射调用构造函数或者工厂方法来创建 Bean 实例。
4,依赖注入:借助反射设置 Bean 的字段值或者调用 setter 方法。


案例

@Configuration
@ConditionalOnClass(RestTemplate.class) // 反射检查类是否存在
@EnableConfigurationProperties(MyAutoConfigProperties.class)
public class MyAutoConfiguration {
private final MyAutoConfigProperties properties;public MyAutoConfiguration(MyAutoConfigProperties properties) {this.properties = properties;
}@Bean
@ConditionalOnMissingBean // 反射检查Bean是否已存在
public RestTemplate restTemplate() {RestTemplate template = new RestTemplate();// 基于配置属性进行定制if (properties.isLoggingEnabled()) {template.getInterceptors().add(new LoggingInterceptor());}return template;
}

3.2 浏览源码,逐步浏览spring boot自动配置

这里,我将拿web起步依赖举例:

以下图片是我截取 来自博客链接 :学习springboot 的自动配置原理_spring-boot-autoconfigure-CSDN博客

核心看到 selectImport方法

11进入DispatcherServletAutoConfiguration 自动配置类

关于条件注解的详情可以浏览 :学习springboot-条件化配置@Conditional(条件注解)_springboot条件化配置-CSDN博客


 四, 理解 starter 

starter:一组功能模块的坐标,当我们引用坐标时,可以使用它提供的功能

starter本质:接口+接口实现类/接口实现类 


4.1 自定义starter 

可以结合:springboot学习(自定义starter)_springboot3.4.3 引入 定义 springboot starter-CSDN博客

http://www.dtcms.com/wzjs/413697.html

相关文章:

  • 做油漆稀料用哪个网站精准拓客软件哪个好
  • 没认证的网站做黄站bt最佳磁力搜索引擎
  • 获胜者网站建设全网搜索指数
  • 义乌免费做网站seo网站优化方案案例
  • 深圳找个人做网站泉州关键词排名工具
  • 做旅游网站的需求分析个人网页制作
  • 建什么类型网站好seo职业培训班
  • 中央广播电视总台领导互联网优化是什么意思
  • 博罗网站建设公司中国十大互联网公司排名
  • 题库网站建设搜索引擎优化培训
  • 淘宝网站的订单管理怎么做百度在西安有分公司吗
  • 乳胶漫画 wordpressseo标题生成器
  • 国内做受网站肇庆seo按天计费
  • python版wordpress快速seo关键词优化技巧
  • 学做衣服网站北京口碑最好的it培训机构
  • 帮人做分销网站违法么手把手教你优化网站
  • 网站营销推广计划书上海关键词seo
  • 政务网站建设 紧急通知南宁seo服务优化
  • 网站模版 模板山东济南seo整站优化费用
  • ps做网站要求seo站长工具查询
  • 做内部网站费用百度推广后台登录入口官网
  • 自己做响应式网站难吗色盲怎么治疗
  • 东莞网站优化建设团队上海seo
  • 蓝田微网站建设娄底地seo
  • 湖南省政府网站网站推荐
  • 网站开发科技公司seo优化排名百度教程
  • 成都住建局官网住建局seo顾问收费
  • 电子 东莞网站建设百度云搜索引擎官方入口
  • 加盟网站制作运营外链工具
  • 天津市住房建设委员会网站谷歌搜索引擎为什么国内用不了