下载spring源码
gradle主要是配置一个环境变量
在build.gradle的repository那里添加一行
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
根目录下面运行
gradlew :spring-oxm:compileTestJava
然后再把项目导入idea并且配置
就ok了
去除 spring-aspect 加载
如果加载到后面发现 spring-aspect 模块依赖报错,
第一种方案 直接点击该工程 右键 -> unload module,或者使用 exclude module 排除模块;
创建gradle测试工程
File–>New–>Modul–>Gradle–>Java–>Next
打开测试工程的build.gradle文件添加 依赖 beas 和 context;
dependencies {
compile(project(":spring-beans"))
compile(project(":spring-context"))
testCompile group: 'junit', name: 'junit', version: '4.12'
}
新建用户实体
public class SysUser {
private String username;
private String password;
public SysUser(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "SysUser{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
新建配置类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SysConfig {
@Bean
public SysUser sysUser() {
return new SysUser("zhouzhou", "123");
}
}
新建主类测试
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class ZzMain {
public static void main(String[] args) {
// 获取容器
ApplicationContext ac = new AnnotationConfigApplicationContext(SysConfig.class);
// 获取 bean
SysUser sysUser = (SysUser) ac.getBean("sysUser");
System.out.println(sysUser.toString());
}
}
build 一下 测试工程,然后执行主类,一般情况下会报错看后续内容
> Task :test:ZzMain.main()
SysUser{username='zhouzhou', password='123'}
BUILD SUCCESSFUL in 2s
38 actionable tasks: 9 executed, 29 up-to-date
20:04:20: Task execution finished 'ZzMain.main()'.