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

网站开发项目流程图基于推荐算法的网站开发

网站开发项目流程图,基于推荐算法的网站开发,网站域名查询网,宿迁手机网站开发公司2025/4/6 向全栈工程师迈进&#xff01; 一、Bean的扫描 在之前&#xff0c;对于Bean的扫描&#xff0c;我们可以在XML文件中书写标签&#xff0c;来指定要扫描的包路径&#xff0c;如下所示,可以实通过如下标签的方式&#xff1a; <context:component-scan base-package&…

2025/4/6

向全栈工程师迈进!

一、Bean的扫描

在之前,对于Bean的扫描,我们可以在XML文件中书写标签,来指定要扫描的包路径,如下所示,可以实通过如下标签的方式:

<context:component-scan base-package="com.example"/>

也可以是通过如下注解的方式

@ComponentScan(basePackage="com.example")

但是在实际的Spring Boot 是通过注解的方式

但是可以发现注解并不相同 ,Spring Boot使用的@SpringBootApplication注解,那为何什么该注解可以让其找到要注入对象的存放路径呢?原因如下@SpringBootApplication是一个组合路径。是包括下面三种的。

但是也没有在ComponentScan中写明路径,那如何找到呢,其实是因为该注解是表明自动的扫描启动类所在的包极其子包。

所以这些会被成功的注入到IOC容器当中,通过如下访问,也确实可以访问到。

当我们将controller移走

此时再去访问,就已经找不到了。因为controller包并不是启动类的所在的包极其子包中,所以boot工程扫描不打了。

 如果非要让boot工程能够扫描到这个controller的话,我们可以通过注解来实现。使用

@ComponentScan(basePackages = "com.example")

表示从example包开始扫描,下面的蓝色框住的表示启动类默认扫描的范围。 

当通过注解将其扫描的范围扩大到了从example开始,我们再次尝试访问,看是否成功。

 虽然可以手动扩大扫描的范围,但是一般不建议这么做。

二、Bean注册

接下去我们看看哪些注解会扫描到并被解析,从而把对应的bean对象注入到IOC容器里面,例如以下,我们可以在类上添加以下注解实现将该类添加到IOC容器中。

如果要注册的bean对象来自于第三方(不是自定义的),我们是无法同@Component极衍生注解声明bean的。Sprig提供了 @Bean 和 @Import 来满足这种需求。

制作了一个演示的jar包,叫做common-pojo-1.0-SNAPSHOT.jar,首先将这个包引入

在本地安装好后,在pom.xml文件中引入,如下所示。 

 

  写入后,刷新一下,就可以找到该jar包,该jar包中有两个实体类对象,一个Country,一个Province。接下去我们就来实现将这两个对象注入IOC容器。

 2.1 @Bean

通过@Bean注解来注入,如下当加入@Bean注解后就可以自动的将返回的对象注入到IOC容器当中。

测试是否真的被注入,如下所示,真的在容器里找到了被注入的country对象。

但是在启动类中这样干是不推荐的,一般将其写到特定的配置类当中,完全用于注册bean对象的类中。可以定义一个CommonConfig用于专门定义这个。

在配置类中,我们通过@Bean注入这两个对象 

同样的成功获取到了

2.2 @Import(xxx.class) 直接导入类。

只要在启动类上添加@Import(xxx.class)注解,就可以注入对应的类,可以是任何类,也可以是一个配置类,但是在实际的开发过程中,我们更常用的是导入配置类或者是导入ImportSelector接口的实现类

导入配置类

但是加入要导入的类过多,就会导致其要写很多的import,这显然不是良好的编程风格。所以我们可以使用第二种导入ImportSelector接口实现类的方式。

然后直接导入接口的实现类,就可以实现如上效果。

三、注册条件

在前面我们是学习通过@Bean和@Import的方式来注入,但是在之前注入的对象中,都是没有复制过的,我们可以在注册前就赋好值,然后再注入就可以很好的解决这个问题了

但这些信息是被写在java代码中的,要是哪天这些信息需要更改的话,就得重新改java代码,所以对于这类信息我们可以写在配置文件中,通过配置文件获取,然后需要更改的话,只需要更改配置文件中的信息即可。

但是假设在配置文件中并没有country.name的值,那么就会报错,若想要实现,若在配置文件中没有找到country.name和country.system的值的话,那就不注入这个country对象,所以这里就需要用到注入条件来实现。

通过@Conditional来设置注解条件

不要小看走的每一步!

2025/4/6 

 

http://www.dtcms.com/a/487657.html

相关文章:

  • LeetCode 3350. 检测相邻递增子数组 II
  • 【底层机制】【Android】深入理解UI体系与绘制机制
  • 注册一个软件需要多少钱牡丹江网站seo
  • 高校英文网站建设贵阳网站推广有几家
  • 建设一个网络交友的网站的论文网站系统有哪些
  • Echarts【图表生成】
  • #深入解析Golang命令行框架Cobra:构建强大的CLI应用
  • 智能体开发基础
  • 亚当学院网站视频建设教程wordpress flash插件下载
  • 矩阵奇异值分解算法(SVD)的导数 / 灵敏度分析
  • 如何查看一个网站是不是用h5做的怎样做企业营销网站
  • Valentina Studio:一款跨平台的数据库管理工具
  • Jmeter接口测试与压力测试
  • 网站建设公司营业执照经营范围网推是干嘛的
  • 合规化短剧分销系统开发:用户数据保护、佣金税务合规与内容版权风险规避
  • 手机网站封装用户体验做问卷网站好
  • 算法性能的核心度量:时间复杂度与空间复杂度深度解析
  • 【shell】每日shell练习(系统用户安全审计/系统日志错误分析)
  • 【Kylin V10】SSLERRORSYSCALL 的修复方法
  • 注册一个网站域名一年需要多少钱夏县网站建设
  • 外贸企业网站建设一条龙大数据营销方案
  • 【vLLM】源码解读:vllm 模型加载到推理全流程
  • Keil MDK系列:(四)SCT文件编写教程
  • 如何熟悉网站项目的逻辑做班级网站的实训报告
  • 前端 TypeScript 项目中的“守护者”:Zod 实战使用心得与最佳实践
  • 1.n8n 的搭建与使用
  • 公司网站SEO优化哪个做得好永久免费可联网的进销存软件
  • qq官方网站登录入口做本地网站怎么挣钱
  • 睢县做网站怎样查找自己建设的网站
  • 【开题答辩全过程】以 便利店库存管理系统为例,包含答辩的问题和答案