关于Java的一点小小知识点(杂谈)

1,@Resource和@Autowire的区别

在java代码中可以使用@Autowire或者@Resource注解方式进行装配,这两个注解的区别是: @Autowire默认按照类型装配,默认情况下它要求依赖对象必须存在如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可以结合@Qualifier注解一起使用;

@Resource默认按照名称装配,当找不到与名称匹配的bean才会按照类型装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象.

注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖的对象时候,会回退到按照类型装配,但一旦指定了name属性,就只能按照名称装配了.

2,Spring boot正常启动但是无法访问到controller中的接口

查看启动类Application是不是上加了@ComponentScan(basePackages = {})这个注解导致controller扫描不到导致的,如果加了这个注解,springboot就不会扫描Application所在的包及子包的文件,需要将controller所在的包加入到注解@ComponentScan的大括号中。

方法:去掉@ComponentScan注解或者加完应有路径

3,BeanFactory和ApplicationContext有什么区别?

ApplicationContext是BeanFactory的子接口。

ApplicationContext提供了更完整的功能:

  • 继承MessageSource,因此支持国际化。
  • 统一的资源文件访问方式。
  • 提供再监听器中注册bean的事件。
  • 同时加载多个配置文件。

载入多个(有继承关系)上下文,使得每一个上下文都专注于一个特定的层次,比如应用的 web层。

1,BeanFactroy采用的是延迟加载形式来注入Bean的,即只有使用到某个Bean时(调用 getBean()),才对该Bean进行加载实例化。这样我们就不能发现一些存在spring的配 置问题。如果某一个Bean的某个属性没有被注入,BeanFacotry加载后,直至第一次使用 调用getBean()方法才会抛出异常。

2,ApplicationContext,它是再容器启动时,一次性创建了所有Bean。这样再容器启动 能够时,我们就可以发现Spring配置中存在的错误,这样,有利于检查依赖属性是否注 入。ApplicationContext启动后预加载所有的单例Bean,通过预载入单实例bean,确保你 需要的时候,不用等待直接 就可以用。

3,相对于基本的BeanFacotry,ApplicationContext唯一不足的是占用内存空间。当应用 程序配置Bean较多时,程序启动速度慢。

4,BeanFacotry通常以编程的方式被创建,ApplicationContext还能以声明的方式创建。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA实现利用phantomjs对URL页面(网页)进行转图片保存

一、前期准备 1、下载phantomjs工具 地址:https://phantomjs.org/download.html 解压到指定文件夹,后续代码要调用该工具,记住路径 2、准备好模板NetToPicMoban.js 用于给phantomjs提供需要执行的js,具体放在那看自己的需求&…

A33 STM32_HAL库函数 之 NOR 通用驱动 -- B -- 所有函数的介绍及使用

A33 STM32_HAL库函数 之 NOR 通用驱动 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.10 HAL_NOR_ReadBuffer1.11 HAL_NOR_ProgramBuffer1.12 HAL_NOR_Erase_Block1.13 HAL_NOR_Erase_Chip1.14 HAL_NOR_Read_CFI1.15 HAL_NOR_WriteOperation_Enable1.16 HAL_NOR_WriteOperat…

51单片机STC89C52RC——3.1 数码管静态展示

目的 让数码管在指定位置显示指定数字 一,STC单片机模块 二,数码管 2.1 数码管位置 2.2 生活中用到的数目管 红绿灯 LED数码管在生活中随处可见,洗衣机、电饭煲、热水器、微波炉、冰箱、这些最基本的家用电器上基本都用到了这种7段LED数…

广告权重及出价解析

由于算法一直在不断改变,所以公式只能作为参考,不过核心是不变的。一、广告权重及出价解析 链接质量分CTR分值**CR分值(点击率*转化率)广告质量分广告出价*链接质量分我们的出价下一名产品的广告质量评分/我们的链接质量分0.01 …

Spring Bean详解

Spring Bean作用域 默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个 如果我们需要创建多个实例的对象,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需…

嵌入式linux系统中SPI子系统验证03

今天主要给大家分享一下,如何使用SPI总线进行验证的方法。 第一:SPI验证流程 1. echo 1 > /dev / spidev3.0 2.逻辑分析仪抓波形 3.十六进指转化为十进制 4.ASCII字符代码表匹配 第二:SPI验证结果 第三:设备…

搜维尔科技:通过 scalefit 的人体工程学分析或您自己的基于 Movella 动作捕捉的工业运动员测量系统来识别隐藏的健康风险

通过 scalefit的人体工程学分析或您自己的基于 Movella 动作捕捉的工业运动员测量系统来识别隐藏的健康风险 搜维尔科技:通过scalefit的人体工程学分析或您自己的基于Movella动作捕捉的工业运动员测量系统

“论数据访问层设计技术及其应用”写作框架,系统架构设计师

论文真题 在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模…

eclipse如何导入springboot项目

打开eclipse 找到你的springboot项目 点击finish即可 test02就已经导入进去了 配置一下maven 在将那个springboot项目刷新一下即可 运行成功

得物面试:什么是零复制?说说 零复制 底层原理?(吊打面试官)

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的零复制的问题: 说一说Rocketmq、是如何实现每秒上百万数据的超…

【C++11】详谈隐式类型转换

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 C11中 隐式类型转换 的相关内容。 如果看到最后您觉得这篇文章写得…

用户组的概念(linux篇)

当我们创建一个用户的时候&#xff0c;会创建一个和它同名的分组 1.groups&#xff1a;查看当前用户所在的分组&#xff08;或者groups <用户名>&#xff09; [rootlocalhost ~]# useradd Tom -m -s /bin/bash [rootlocalhost ~]# cd /home/ [rootlocalhost home]# ls h…

实现跑马灯

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 跑马灯 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){Color[] colors { Color.Red, Color.Green, Color.Yellow };T…

JAVA每日作业day6.19

ok了家人们今天继续学习面向对象&#xff0c;话不多说看看今天学了什么 一.面向对象-封装 1&#xff0c;private private:私有的 权限修饰符 是一个成员修饰符&#xff0c;修饰成员变量 被private修饰的成员变量和成员方法只能在本类中使用 对外访问使用是 set XXX 和 get X…

IO流2.

字符流-->字符流的底层其实就是字节流 public class Stream {public static void main(String[] args) throws IOException {//1.创建对象并关联本地文件FileReader frnew FileReader("abc\\a.txt");//2.读取资源read()int ch;while((chfr.read())!-1){System.out…

pytorch库 02 Anaconda、Jupyter常用命令及操作

文章目录 一、Anaconda Prompt1、conda常用命令2、pip常用命令 二、Jupyter1、Jupyter常用命令及基本操作2、Jupyter代码补全插件安装 一、Anaconda Prompt 1、conda常用命令 下列命令可以在Anaconda Prompt中输入。 清屏&#xff1a; cls 查看帮助&#xff1a; conda -h 查…

海南聚广众达电子商务咨询有限公司抖音电商新引擎

在数字化浪潮席卷而来的今天&#xff0c;抖音电商作为新兴的商业模式&#xff0c;正以其独特的魅力和无限的潜力&#xff0c;引领着电子商务行业的革新与发展。海南聚广众达电子商务咨询有限公司&#xff0c;作为专注于抖音电商服务的领军企业&#xff0c;凭借其专业的团队、丰…

字符串常用的方法

1. charAt(index) 返回字符串中指定位置的字符。 const str "Hello, World!"; console.log(str.charAt(0)); // 输出 "H" 2. concat(str1, str2, ...) 将一个或多个字符串与原字符串连接合并&#xff0c;形成一个新的字符串。 const str "Hell…

【IPython的使用技巧】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

异步方式遍历IndexedDB

IndexedDB 提供了一个客户端存储大量结构化数据的能力&#xff0c;使得 Web 应用程序即使在网络不可用的情况下也能访问数据&#xff0c;这对于构建离线优先或者对网络依赖较小的应用至关重要。 IndexedDB提供了指针对象 IDBCursor&#xff0c;监听onsuccess事件以遍历数据。 …