精通Spring注解系列
文章平均质量分 76
在SpringBoot和SpringCloud兴起之后,Spring的注解就用的非常多了!为了能够更加深刻的理解这些注解的原理,更好的使用这些注解提高我们的工作效率。这里,我结合实际工作中使用Spring的一些经验,向大家分享下Spring注解相关的知识!!
冰 河
这个作者很懒,什么都没留下…
展开
-
我把这个神一样的框架肝成了一本书!
试问:在Java Web开发领域,有谁不知道Spring?又有多少人没有使用过Spring呢?如果你还没有使用过Spring,可以这么说,你就不是一个真正的Java Web开发人员,或者你还没有真正步入Java Web开发领域。原创 2024-04-29 00:31:48 · 1012 阅读 · 0 评论 -
硬核!一张图彻底搞懂Spring循环依赖!!(建议收藏)
冰河花了三个小时画了一张图,就为让你彻底理解Spring的循环依赖问题,建议收藏!!原创 2021-06-27 10:15:26 · 3755 阅读 · 18 评论 -
Spring中这么重要的AnnotationAwareAspectJAutoProxyCreator类是干嘛的?
跟冰河一起学习AnnotationAwareAspectJAutoProxyCreator类的源码!!原创 2021-03-11 00:11:13 · 1494 阅读 · 0 评论 -
一张图带你窥探「Spring注解系列」到底要更新些啥?
冰河重启「Spring注解系列」专题的更新了!!!原创 2021-03-09 20:26:36 · 1387 阅读 · 2 评论 -
小伙伴们在催更Spring系列,于是我写下了这篇注解汇总!!
写在前面由于在更新其他专题的文章,Spring系列文章有很长一段时间没有更新了,很多小伙伴都在公众号后台留言或者直接私信我微信催更Spring系列文章。看来是要继续更新Spring文章了。想来想去,写一篇关于Spring中注解相关的文章吧,因为之前更新Spring系列的文章一直也是在更新Spring注解驱动开发。这篇文章也算是对之前文章的一个小小的总结吧,估计更新完这篇,我们会进入Spring的AOP章节的更新。没有看过Spring其他文章的小伙伴,可以到【冰河技术】公号的【Spring系列】专题中进原创 2021-03-07 22:20:40 · 1425 阅读 · 0 评论 -
Spring AOP核心类解析,这是最全的一篇了!!
Spring AOP核心类解析,看这一篇就够了!!原创 2020-12-03 21:56:00 · 1382 阅读 · 0 评论 -
【Spring】IOC容器注解汇总,你想要的都在这儿了!!
写在前面之前,我们在【Spring】专题中更新了不少关于Spring注解相关的文章,有些小伙伴反馈说,看历史文章的话比较零散,经常会忘记自己看到哪一篇了。当打开一篇新文章时,总感觉自己似乎是看到过了,又感觉自己没有看到过。那怎么办呢?为了小伙伴们查看方便,我在这里将Spring注解的使用方式做个汇总,也算是对之前写的Spring文章的一个总结吧!如果文章对你有点帮助,请点个赞,给个在看和转发,大家的支持是对我持续创作的最大动力。微信搜索并关注“冰河技术”微信公众号,每天推送超硬核技术干货!x原创 2020-09-09 00:36:34 · 935 阅读 · 0 评论 -
【Spring注解驱动开发】AOP核心类解析,这是最全的一篇了!!
【Spring注解驱动开发】AOP核心类解析,这是最全的一篇了!!昨天二狗子让我给他讲@EnableAspectJAutoProxy注解,讲到AnnotationAwareAspectJAutoProxyCreator类的源码时,二狗子消化不了了。这不,今天又来让我给他讲讲AOP的核心类。那我们就开始吧!关于 冰河技术 微信公众号,后台回复 “Spring注解”领取源码工程。如果文章对你有点帮助,麻烦点个赞,给个在看和转发,大家的三连是对我持续创作最大的动力!!类结构图我们先来看下Annota原创 2020-09-03 21:26:47 · 753 阅读 · 0 评论 -
【Spring注解驱动开发】二狗子让我给他讲讲@EnableAspectJAutoProxy注解
写在前面最近,二狗子入职了新公司,新入职的那几天确实有点飘。不过慢慢的,他发现他身边的人各个身怀绝技啊,有Spring源码的贡献者,有Dubbo源码的贡献者,有MyBatis源码的贡献者,还有研究AI的大佬,个个都是大神级别的人物。二狗子有点慌,想起自己虽然入职了,但是比起其他人确实差点远啊。怎么办呢?先从基础补起呗,他发现自己对于Spring的理解还不算太深。于是乎,他让我给他讲讲Spring的@EnableAspectJAutoProxy注解。好吧,二狗子要请我吃饭啊!关注 冰河技术 微信公众号原创 2020-09-02 21:59:44 · 843 阅读 · 0 评论 -
【Spring注解驱动开发】你敢信?面试官竟然让我现场搭建一个AOP测试环境!
写在前面今天是9月1号,金九银十的跳槽黄金期已拉开序幕,相信很多小伙伴也在摩拳擦掌,想换一个新的工作环境。然而,由于今年疫情的影响,很多企业对于招聘的要求是越来越严格。之前,很多不被问及的知识点,最近面试时都会被问到了。这不,有些面试官竟然让面试者现场搭建一个AOP测试环境。那怎么办呢?那就给他搭建一个呗!关注 冰河技术 微信公众号,后台回复 “Spring注解” 领取源码。什么是AOP?AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种原创 2020-09-01 22:41:02 · 690 阅读 · 0 评论 -
【Spring】使用@Profile注解实现开发、测试和生产环境的配置和切换,看完这篇我彻底会了!!
写在前面在实际的企业开发环境中,往往都会将环境分为:开发环境、测试环境和生产环境,而每个环境基本上都是互相隔离的,也就是说,开发环境、测试环境和生产环境是互不相通的。在以前的开发过程中,如果开发人员完成相应的功能模块并通过单元测试后,会通过手动修改配置文件的形式,将项目的配置修改成测试环境,发布到测试环境进行测试。测试通过后,再将配置修改为生产环境,发布到生产环境。这样手动修改配置的方式,一方面增加了开发和运维的工作量,而且总是手工修改各项配置文件很容易出问题。那么,有没有什么方式可以解决这些问题呢?答原创 2020-08-24 21:38:39 · 1754 阅读 · 0 评论 -
【Spring】Spring如何实现多数据源读写分离?这是我看过最详细的一篇!!
写在前面很多小伙伴私聊我说:最近他们公司的业务涉及到多个数据源的问题,问我Spring如何实现多数据源的问题。回答这个问题之前,首先需要弄懂什么是多数据源:多数据源就是在同一个项目中,会连接两个甚至多个数据存储,这里的数据存储可以是关系型数据库(比如:MySQL、SQL Server、Oracle),也可以非关系型数据库,比如:HBase、MongoDB、ES等。那么,问题来了,Spring能够实现多数据源吗?并且还要实现读者分离?答案是:必须的,这么强大的Spring,肯定能实现啊!别急,我们就一点点原创 2020-08-21 20:34:56 · 1154 阅读 · 0 评论 -
【Spring注解驱动开发】自定义组件如何注入Spring底层的组件?看了这篇我才真正理解了原理!!
写在前面最近,很多小伙伴出去面试都被问到了Spring问题,关于Spring,细节点很多,面试官也非常喜欢问一些很细节的技术点。所以,在 Spring 专题中,我们尽量把Spring的每个技术细节说清楚,将透彻。关注 冰河技术 微信公众号,回复 “ Spring注解 ” 关键字领取源码。如果文章对你有所帮助,欢迎大家留言、点赞、在看和转发,大家的支持是我持续创作的动力!概述自定义组件要想使用Spring容器底层的一些组件(比如:ApplicationContext、BeanFactory原创 2020-08-19 00:46:48 · 879 阅读 · 0 评论 -
【Spring】看了这篇Spring事务原理,我才知道我对Spring事务的误解有多深!
写在前面有很多小伙伴们留言说,冰河,你能不能写一篇关于Spring事务的文章呢?我:可以啊,安排上了!那还等什么呢?走起啊!!事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提原创 2020-08-17 21:44:13 · 874 阅读 · 1 评论 -
【Spring】如何解决Spring的循环依赖问题?这道面试题助我拿到了Offer!!
写在前面最近,有关于Spring的面试中,Spring的循环依赖问题是必问的知识点,你回答的不好,就会被直接pass掉。即使你没被pass掉,你也会比那些知道如何解决Spring循环依赖问题的同事薪资低,这就是现实。所以,我们今天就一起来探讨下如何解决Spring循环依赖的问题。关注 冰河技术 微信公众号,阅读更多技术干货文章!!什么是循环依赖?循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不原创 2020-08-17 00:51:27 · 1150 阅读 · 0 评论 -
【Spring注解驱动开发】如何实现方法、构造器位置的自动装配?我这样回答让面试官很满意!
在 冰河技术 微信公众号前面的文章中,我们介绍了如何使用注解来自动装配Spring组件。之前将的都是在来的字段上添加注解,那有没有什么方法可以实现方法、构造器位置的自动装配吗?今天我们就一起来探讨下如何实现方法、构造器位置的自动装配。关注 冰河技术 技术微信公众号,后台回复“spring注解”关键字,领取项目工程源码。再谈@Autowired注解在我发表在 冰河技术 微信公众号的《【Spring注解驱动开发】使用@Autowired@Qualifier@Primary三大注解自动装配组件,你会了.原创 2020-08-15 20:20:10 · 731 阅读 · 0 评论 -
【Spring注解驱动开发】你还不会使用@Resource和@Inject注解?那你就out了!!
写在前面我在 冰河技术 微信公众号中发表的《【Spring注解驱动开发】使用@Autowired@Qualifier@Primary三大注解自动装配组件,你会了吗?》一文中,介绍了如何使用@Autowired、@Qualifier和@Primary注解自动装配Spring组件。那除了这三个注解以外,还有没有其他的注解可以自动装配组件呢?那必须有啊!今天,我们就一起说说@Resource注解和@Inject注解。关注 冰河技术 微信公众号,回复 “Spring注解”关键字领取源码工程。@Resou原创 2020-08-13 22:38:31 · 783 阅读 · 0 评论 -
【Spring注解驱动开发】使用@Autowired@Qualifier@Primary三大注解自动装配组件,你会了吗?
写在前面【Spring专题】停更一个多月,期间在更新其他专题的内容,不少小伙伴纷纷留言说:冰河,你【Spring专题】是不是停更了啊!其实并没有停更,只是中途有很多小伙伴留言说急需学习一些知识技能,以便于跳槽,哈哈,大家都懂得!所以,中途停更了一段时间,写了一些其他专题的文章。现在,继续更新【String专题】。关注 冰河技术 微信公众号,订阅更多技术干货!如果文章对你有所帮助,请不要吝惜你的点赞、在看、留言和转发,你的支持是我持续创作的最大动力!项目工程源码已经提交到GitHub:https:原创 2020-08-12 23:45:19 · 830 阅读 · 0 评论 -
【Spring注解驱动开发】使用@PropertySource加载配置文件,我只看这一篇!!
写在前面很多小伙伴都在问:冰河,你的Spring专题更新完了吗?怎么感觉像是写了一半啊?我:没有更新完呀,整个专题预计会有70多篇。那怎么更新了一半就去写别的了呢?那是因为有很多其他的小伙伴在后台留言说:急需学习一些其他的技术,所以,临时调整的。放心,Spring专题会持续更新的!这不,今天,我们就继续更新Spring专题。不出意外的话,会一直持续更新完!!项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation@Pro原创 2020-08-07 23:03:57 · 1000 阅读 · 5 评论 -
【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官!
写在前面在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识。今天,我们就来一起聊聊@Value注解的用法。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation@Value注解Spring中的@Value注解可以为bean中的属性赋值。我们先来看看@Value注解的源码,如下所示。package org.springframework.beans.fa原创 2020-06-30 23:21:27 · 1672 阅读 · 0 评论 -
【Spring注解驱动开发】BeanPostProcessor在Spring底层是如何使用的?看完这篇我懂了!!
写在前面在《【String注解驱动开发】面试官再问你BeanPostProcessor的执行流程,就把这篇文章甩给他!》一文中,我们详细的介绍了BeanPostProcessor的执行流程。那么,BeanPostProcessor在Spring底层是如何使用的?今天,我们就一起来探讨下Spring的源码,一探BeanPostProcessor在Spring底层的使用情况。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotatio原创 2020-06-30 00:56:33 · 1250 阅读 · 0 评论 -
【Spring注解驱动开发】困扰了我很久的AOP嵌套调用终于解决了!
写在前面最近在分析Spring源码时,在同一个类中写了嵌套的AOP方法,测试时出现:Spring AOP在同一个类里自身方法相互调用时无法拦截。哎,怎么办?还能怎么办呢?继续分析Spring源码,解决问题呗。于是乎,有了本文。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation问题阐述Spring AOP在同一个类里自身方法相互调用时无法拦截。比如下面的代码:public class SomeServiceImp原创 2020-06-29 01:38:57 · 1361 阅读 · 1 评论 -
【Spring注解驱动开发】面试官再问你BeanPostProcessor的执行流程,就把这篇文章甩给他!
写在前面在前面的文章中,我们讲述了BeanPostProcessor的postProcessBeforeInitialization()方法和postProcessAfterInitialization()方法在bean初始化的前后调用,我们可以自定义类来实现BeanPostProcessor接口,并在postProcessBeforeInitialization()方法和postProcessAfterInitialization()方法中指定我们自定义的逻辑。今天,我们来一起探讨下eanPostPr原创 2020-06-28 00:21:42 · 2844 阅读 · 3 评论 -
【Spring注解驱动开发】关于BeanPostProcessor后置处理器,你了解多少?
写在前面有些小伙伴问我,学习Spring是不是不用学习到这么细节的程度啊?感觉这些细节的部分在实际工作中使用不到啊,我到底需不需要学习到这么细节的程度呢?我的答案是:有必要学习到这么细节的程度,而且是有机会、有条件一定要学!吃透Spring的原理和源码!往往拉开人与人之间差距的就是这些细节的部分,当前只要是使用Java技术栈开发的Web项目,几乎都会使用Spring框架。而且目前各招聘网站上对于Java开发的要求几乎清一色的都是熟悉或者精通Spring。所以,你,很有必要学习Spring的细节知识点。原创 2020-06-24 23:59:06 · 1532 阅读 · 0 评论 -
【Spring注解驱动开发】@PostConstruct与@PreDestroy源码的执行过程
写在前面在前面的《【String注解驱动开发】你真的了解@PostConstruct注解和@PreDestroy注解吗?》一文中,我们简单的介绍了@PostConstruct注解与@PreDestroy注解的用法,有不少小伙伴纷纷留言说:在Spring中,@PostConstruct注解与@PreDestroy注解标注的方法是在哪里调用的呀?相信大家应该都挺好奇的吧,那今天我们就来一起分析下@PostConstruct注解与@PreDestroy注解的执行过程吧!项目工程源码已经提交到GitHub:原创 2020-06-24 00:41:29 · 1181 阅读 · 1 评论 -
【Spring注解驱动开发】你了解@PostConstruct注解和@PreDestroy注解吗?
写在前面在之前的文章中,我们介绍了如何使用@Bean注解指定初始化和销毁的方法,小伙伴们可以参见《【Spring注解驱动开发】如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!》,也介绍了使用InitializingBean和DisposableBean来处理bean的初始化和销毁,小伙伴们可以参见《【Spring注解驱动开发】Spring中的InitializingBean和DisposableBean,你真的了解吗?》。除此之外,在JDK中也提供了两个注解能够在bean加载到Sprin原创 2020-06-24 00:06:42 · 1075 阅读 · 0 评论 -
【Spring注解驱动开发】使用InitializingBean和DisposableBean来管理bean的生命周期,你真的了解吗?
写在前面在《【Spring注解驱动开发】如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!》一文中,我们讲述了如何使用@Bean注解来指定bean初始化和销毁的方法。具体的用法就是在@Bean注解中使用init-method属性和destroy-method属性来指定初始化方法和销毁方法。除此之外,Spring中是否还提供了其他的方式来对bean实例进行初始化和销毁呢?项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-ann原创 2020-06-21 23:46:05 · 1053 阅读 · 0 评论 -
【Spring注解驱动开发】如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!
写在前面在【String注解驱动开发专题】中,前面的文章我们主要讲了有关于如何向Spring容器中注册bean的知识,大家可以到【String注解驱动开发专题】中系统学习。接下来,我们继续肝Spring,只不过从本篇文章开始,我们就进入Spring容器中有关Bean的生命周期的学习。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotationBean的生命周期通常意义上讲的bean的名称周期,指的是bean从创建到初始化,原创 2020-06-21 00:28:46 · 1447 阅读 · 1 评论 -
【Spring注解驱动开发】面试官让我说说:如何使用FactoryBean向Spring容器中注册bean?
写在前面在前面的文章中,我们知道可以通过多种方式向Spring容器中注册bean。可以使用@Configuration结合@Bean向Spring容器中注册bean;可以按照条件向Spring容器中注册bean;可以使用@Import向容器中快速导入bean对象;可以在@Import中使用ImportBeanDefinitionRegistrar向容器中注册bean。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation原创 2020-06-19 00:28:59 · 1282 阅读 · 0 评论 -
【Spring注解驱动开发】在@Import注解中使用ImportBeanDefinitionRegistrar向容器中注册bean
写在前面在前面的文章中,我们学习了如何使用@Import注解向Spring容器中导入bean,可以使用@Import注解快速向容器中导入bean,小伙伴们可以参见《【Spring注解驱动开发】使用@Import注解给容器中快速导入一个组件》。可以在@Import注解中使用ImportSelector接口导入bean,小伙伴们可以参见《【Spring注解驱动开发】在@Import注解中使用ImportSelector接口导入bean》一文。今天,我们就来说说,如何在@Import注解中使用ImportBe原创 2020-06-17 00:38:06 · 1529 阅读 · 0 评论 -
【Spring注解驱动开发】面试官:如何将Service注入到Servlet中?朋友又栽了!!
写在前面最近,一位读者出去面试前准备了很久,信心满满的去面试。没想到面试官的一个问题把他难住了。面试官的问题是这样的:如何使用Spring将Service注入到Servlet中呢?这位读者平时也是很努力的,看什么源码啊、多线程啊、高并发啊、设计模式啊等等。没想到却在一个很简单的问题上栽了跟头,这就说明学习知识要系统化,要有条理,切忌东学一点,西记一点,否则,到头来,啥也学不到。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annota原创 2020-06-16 00:31:31 · 1276 阅读 · 0 评论 -
【Spring注解驱动开发】深入理解Spring的ImportSelector接口
写在前面在前面的文章中,我们知道了可以使用ImportSelector接口实现向Spring容器中导入bean,那ImportSelector接口是如何实现的呢,接下来,我们就一探究竟!项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotationImportSelector接口概述ImportSelector接口是至spring中导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)都原创 2020-06-12 23:49:38 · 1154 阅读 · 0 评论 -
【Spring注解驱动开发】在@Import注解中使用ImportSelector接口导入bean
写在前面在上一篇关于Spring的@Import注解的文章《【Spring注解驱动开发】使用@Import注解给容器中快速导入一个组件》中,我们简单介绍了如何使用@Import注解给容器中快速导入一个组件,而我们知道,@Import注解总共包含三种使用方法,分别为:直接填class数组方式;ImportSelector方法(重点);ImportBeanDefinitionRegistrar方式。那么,今天,我们就一起来学习关于@Import注解非常重要的第二种方式:ImportSelector方式。原创 2020-06-12 23:44:17 · 1767 阅读 · 0 评论 -
【Spring注解驱动开发】使用@Import注解给容器中快速导入一个组件
写在前面我们可以将一些bean组件交由Spring管理,并且Spring支持单实例bean和多实例bean。我们自己写的类,可以通过包扫描+标注注解(@Controller、@Servcie、@Repository、@Component)的形式将其注册到IOC容器中,如果不是我们自己写的类,比如,我们在项目中引入了一些第三方的类库,此时,我们需要将这些第三方类库中的类注册到Spring容器中,该怎么办呢?此时,我们就可以使用@Bean和@Import注解将这些类快速的导入Spring容器中。接下来,我们原创 2020-06-10 23:17:09 · 997 阅读 · 0 评论 -
【Spring注解驱动开发】如何按照条件向Spring容器中注册bean?这次我懂了!!
写在前面当bean是单实例,并且没有设置懒加载时,Spring容器启动时,就会实例化bean,并将bean注册到IOC容器中,以后每次从IOC容器中获取bean时,直接返回IOC容器中的bean,不再创建新的bean。如果bean是单实例,并且使用@Lazy注解设置了懒加载,则Spring容器启动时,不会实例化bean,也不会将bean注册到IOC容器中,只有第一次获取bean的时候,才会实例化bean,并且将bean注册到IOC容器中。如果bean是多实例,则Spring容器启动时,不会实例化原创 2020-06-10 21:38:41 · 1057 阅读 · 1 评论 -
【Spring注解驱动开发】如何实现懒加载?看这一篇就够了!!
写在前面Spring在启动时,默认会将单实例bean进行实例化,并加载到Spring容器中。也就是说,单实例bean默认在Spring容器启动的时候创建对象,并将对象加载到Spring容器中。如果我们需要对某个bean进行延迟加载,我们该如何处理呢?此时,就需要使用到@Lazy注解了。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation懒加载懒加载就是Spring容器启动的时候,先不创建对象,在第一次使用(获取)b原创 2020-06-09 23:01:07 · 1609 阅读 · 0 评论 -
【Spring注解驱动开发】使用@Scope注解设置组件的作用域
写在前面Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象。如果每次从Spring容器中获取对象时,都要创建一个新的实例对象,该如何处理呢?此时就需要使用@Scope注解设置组件的作用域。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation本文内容概览@Scope注解概述单实例bea原创 2020-06-08 22:38:31 · 1520 阅读 · 1 评论 -
【Spring注解驱动开发】自定义TypeFilter指定@ComponentScan注解的过滤规则
写在前面Spring的强大之处不仅仅是提供了IOC容器,能够通过过滤规则指定排除和只包含哪些组件,它还能够通过自定义TypeFilter来指定过滤规则。如果Spring内置的过滤规则不能够满足我们的需求,那么我们就可以通过自定义TypeFilter来实现我们自己的过滤规则。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotationFilterType中常用的规则在使用@ComponentScan注解实现包扫描时,我们可以原创 2020-06-07 23:32:38 · 1429 阅读 · 2 评论 -
【Spring注解驱动开发】使用@ComponentScan自动扫描组件并指定扫描规则
写在前面在实际项目中,我们更多的是使用Spring的包扫描功能对项目中的包进行扫描,凡是在指定的包或子包中的类上标注了@Repository、@Service、@Controller、@Component注解的类都会被扫描到,并将这个类注入到Spring容器中。Spring包扫描功能可以使用XML文件进行配置,也可以直接使用@ComponentScan注解进行设置,使用@ComponentScan注解进行设置比使用XML文件配置要简单的多。项目工程源码已经提交到GitHub:https://gith原创 2020-06-06 17:00:56 · 1802 阅读 · 1 评论 -
【Spring注解驱动开发】组件注册-使用@Configuration和@Bean给容器中注册组件
写在前面在之前的Spring版本中,我们只能通过写XML配置文件来定义我们的Bean,XML配置不仅繁琐,而且很容易出错,稍有不慎就会导致编写的应用程序各种报错,排查半天,发现是XML文件配置不对!另外,每个项目编写大量的XML文件来配置Spring,也大大增加了项目维护的复杂度,往往很多个项目的Spring XML文件的配置大部分是相同的,只有很少量的配置不同,这也造成了配置文件上的冗余。项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring原创 2020-06-05 21:28:50 · 1261 阅读 · 2 评论