手写spring1

新建maven项目,项目里面什么都没有,pom.xml没有任何依赖

手写spring,先要建一个容器类AnnotationConfigApplicationContext

java目录下建两个包:com.spring(源码类),和com.zhouyu

ApplicationContext类

spring包中新建,ZhouyuApplicationContext类,这是一个容器类。这个容器类里需要有构造函数,而且构造函数里面传class文件(spring的配置文件)。容器类里面还要有getbean方法

zhouyu包里面的Test类,用来测试我写的spring框架

这里面需要一个参数,表示当前用户需要传给spring的一个spring配置文件

AppConfig类

所以,zhouyu包中新建一个Appconfig类,因为这个类当做spring的配置文件。所以可以对spring做配置,假如配置一个扫描路径,所以需要注解@ComponentScan,这个注解是spring提供的。

@ComponentScan

所以,在spring包中新建一个注解@ComponentScan,可以传路径进去,表示定义一个扫描路径

 定义好@Component之后,在AppConfig.java里使用,设置扫描路径为service包

 在spring包里写一个@Component注解,value里面可以传参数表示组件的名字,不穿参数则默认为""。

 zhouyu包中写一个component组件,用@component注解上,组件名称为userService

 写好这些之后,创建容器,就可以将AppConfig.class文件传进去了

 zhouyuApplicationContext拿到配置类了之后,会在它的构造方法中,解析配置类,就是解析配置类中的注解。

比如拿到配置类之后,解析配置类,比如将@ComponentScan这个注解解析出来,解析出来之后,就能拿到程序员指定的扫描路径,然后就可以根据扫描路径进行扫描了。

下一节讲解拿到配置类了之后,如何构造spring容器,即构造方法内部实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值