2022-08-30  阅读(23)
原文作者:键盘林

首先声明该系列不适合零基本的程序员浏览!

总体系列流程总体分析

Spring注解驱动开发:

容器:

AnnotationConfigapplicationContext

组件添加

组件赋值

组件注入

AOP

声明式事务

扩展原理:

BeanFactoryPostProcesor

BeanDefinitionRegistryPostProcessor

ApplicationListener

Spring容器创建过程

Web:

servlet3.0

异步请求

容器注解开发

创建相关maven项目:

添加spring的相关jar包

202203062026186161.png

在我们古老的开发模式中,我们采用的是在xml中写bean的方式注入

202203062026215482.png

创建一个person类

202203062026232393.png

在我们古老的方式中我们是在xml文件中给Person赋值,如下所示:

202203062026247054.png

在古老的方式中,我们在方法中获取xml对象(ApplicationContext),然后调用它的getBean方法得到相关对象对应的参数

202203062026264555.png

运行结果:

202203062026279826.png

上面是比较古老的方式,现在我们采用注解开发进行对比

简单来说,现在我们采用java代码的方式取代了xml文件的配置方式,使得开发更加友好

通过@Configuration来告诉后台我是一个配置类相当于之前的xml文件

202203062026290257.png

添加bean

202203062026311358.png

main方法中的修改

古老的xml方式配置传入的是xml文件,而现在我们传入的是配置类(简单来说原理都差不多)

202203062026329359.png

2022030620263463510.png

查看运行结果:

2022030620263652911.png

获取person在容器中的类型:

打印出Person这个类在容器中的名字

2022030620263796812.png

2022030620263976713.png

运行结果:

2022030620264140114.png

那如果我要改名呢,只需要把方法名改了就行

2022030620264241915.png

在运行一次,它的id名就改变了

2022030620264405716.png

获取直接修改@bean里面的值

2022030620264537317.png

运行:

2022030620264682218.png

传统方式的包扫描

2022030620264796019.png

现在注解方式的包扫描:

添加包扫描注解:@ComponentScan,该注解将会扫描“com.atguigu”下面所有@Controller、@Service、@Repository、@Component

2022030620265026020.png

com.atguigu下面的类

创建controller层,注解上@controller

2022030620265177421.png

创建service层,注解上@Service

2022030620265297022.png

创建dao层,注解上@Repository

2022030620265419523.png

创建Test类:

加载MainConfig配置类

2022030620265525524.png

获取容器中所有的bean的名字

2022030620265692325.png

打印所有bean的名字

2022030620265820126.png

添加junit的jar

2022030620265997827.png

2022030620270126528.png

运行:

2022030620270290629.png


Java 面试宝典是大明哥全力打造的 Java 精品面试题,它是一份靠谱、强大、详细、经典的 Java 后端面试宝典。它不仅仅只是一道道面试题,而是一套完整的 Java 知识体系,一套你 Java 知识点的扫盲贴。

它的内容包括:

  • 大厂真题:Java 面试宝典里面的题目都是最近几年的高频的大厂面试真题。
  • 原创内容:Java 面试宝典内容全部都是大明哥原创,内容全面且通俗易懂,回答部分可以直接作为面试回答内容。
  • 持续更新:一次购买,永久有效。大明哥会持续更新 3+ 年,累计更新 1000+,宝典会不断迭代更新,保证最新、最全面。
  • 覆盖全面:本宝典累计更新 1000+,从 Java 入门到 Java 架构的高频面试题,实现 360° 全覆盖。
  • 不止面试:内容包含面试题解析、内容详解、知识扩展,它不仅仅只是一份面试题,更是一套完整的 Java 知识体系。
  • 宝典详情:https://www.yuque.com/chenssy/sike-java/xvlo920axlp7sf4k
  • 宝典总览:https://www.yuque.com/chenssy/sike-java/yogsehzntzgp4ly1
  • 宝典进展:https://www.yuque.com/chenssy/sike-java/en9ned7loo47z5aw

目前 Java 面试宝典累计更新 400+ 道,总字数 42w+。大明哥还在持续更新中,下图是大明哥在 2024-12 月份的更新情况:

想了解详情的小伙伴,扫描下面二维码加大明哥微信【daming091】咨询

同时,大明哥也整理一套目前市面最常见的热点面试题。微信搜[大明哥聊 Java]或扫描下方二维码关注大明哥的原创公众号[大明哥聊 Java] ,回复【面试题】 即可免费领取。

阅读全文