Spring5源代码研究02:第一个工程(直接依赖源代码)

在上文的源码导入与环境搭建后。我们在IDEA构建一个测试,直接使用源代码,而不是Spring的jar,看看能否成功。

1、新建一个Module

在上文已有的Spring 5的源码完整工程下,新增加一个module,名字为“test_zyp”。该新module的属性分别为。
如下图:module名字,设置Source Folders的路径。
在这里插入图片描述
如下图,Paths中设置了Output Path的目录。
在这里插入图片描述

如下图,test_zyp依赖设置。 注意这里的依赖不是Jar库,而是Spring工程的其他modules。
在这里插入图片描述

2、新增代码

在test_zyp的module中新增三个代码:
测试主类

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import service.HelloService;

public class TestZYP {
	public static void main(String[] args) {
		System.out.println("Test Start...");
		AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
		System.out.println("Context Finish!");
		HelloService bean = ac.getBean(HelloService.class);
		bean.say();
	}
}

配置类:

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@ComponentScan(basePackages = "service")
@Configuration
public class AppConfig {
}

服务类(作为Bean由Spring管理)

package service;

import org.springframework.stereotype.Component;

@Component
public class HelloService {
	public HelloService() {
		System.out.println(" *** HelloService constructor!");
	}

	public void say() {
		System.out.println(" *** This is Hello Service say!");
	}
}

目录结构为:
在这里插入图片描述

3、运行结果

运行结果如下。

Test Start...
 *** HelloService constructor!
Context Finish!
 *** This is Hello Service say!

从运行结果可以发现:

  • 直接使用Spring源码运行的效果正常,间接也说明源码工作正常。 ②通过构造函数的输出可以发现,默认情况Bean在Spring
  • Context初始化的过程中就已经完成创建,而不是在调用getBean()时才创建。 如果对于Bean(既上面的HelloService)增加Lazy注解。则不会在 Context初始化的过程,而是在getBean()时才创建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值