Skip to content

Commit 8154cca

Browse files
committed
🎉 opts spring.core.tinySpring framework content.
1 parent d234df5 commit 8154cca

File tree

6 files changed

+226
-105
lines changed

6 files changed

+226
-105
lines changed

spring-tiny/src/main/java/cn/ucaner/spring/tiny/beans/config/AbstractBeanDefinition.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
*/
2020
public abstract class AbstractBeanDefinition implements BeanDefinition {
2121

22-
//默认scope值,bean的作用范围
22+
/**
23+
* 默认scope值,bean的作用范围
24+
*/
2325
private final String SCOPE_DEFAULT = "single";
2426

2527
/**
@@ -34,7 +36,7 @@ public abstract class AbstractBeanDefinition implements BeanDefinition {
3436
*/
3537
List<String> dependentBeanDefinitions=new ArrayList<String>();
3638

37-
/*
39+
/**
3840
* @param bean的作用域
3941
*/
4042
@Override
@@ -52,18 +54,25 @@ public boolean isSingleton() {
5254
return this.scope.equals(SCOPE_DEFAULT);
5355
}
5456

57+
/**
58+
* 返回对bean定义的可读描述
59+
*/
5560
@Override
5661
public String getDescription() {
5762
return null;
5863
}
5964

60-
// 获取依赖的beanDefinition
65+
/**
66+
* 获取依赖的beanDefinition
67+
*/
6168
@Override
6269
public List<String> getDepends() {
6370
return dependentBeanDefinitions;
6471
}
6572

66-
// 添加beanDefinition依赖
73+
/**
74+
* 添加beanDefinition依赖
75+
*/
6776
@Override
6877
public void addDepend(String dependName) {
6978
dependentBeanDefinitions.add(dependName);
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,64 @@
1-
/**
2-
* <html>
3-
* <body>
4-
* <P> Copyright JasonInternational </p>
5-
* <p> All rights reserved.</p>
6-
* <p> Created on 2018年5月30日 上午10:01:08</p>
7-
* <p> Created by Jason </p>
8-
* </body>
9-
* </html>
10-
*/
11-
package cn.ucaner.spring.tiny.beans.config;
12-
13-
/**
14-
* @Package:cn.ucaner.spring.tiny.beans.config
15-
* @ClassName:AttributeAccessor
16-
* @Description: <p> 元数据操作接口 </p>
17-
* @Author: - Jason
18-
* @CreatTime:2018年5月30日 上午10:01:08
19-
* @Modify By:
20-
* @ModifyTime: 2018年5月30日
21-
* @Modify marker:
22-
* @version V1.0
23-
*/
24-
public interface AttributeAccessor {
25-
26-
//设置元数据

27-
void setAttribute(String name, Object value);
28-
29-
//获取元数据

30-
Object getAttribute(String name);
31-
32-
//删除元数据

33-
Object removeAttribute(String name);
34-
35-
//是否含有元数据
36-
boolean hasAttribute(String name);
37-
38-
//获取元数据的name数组
39-
String[] attributeNames();
40-
}
1+
/**
2+
* <html>
3+
* <body>
4+
* <P> Copyright JasonInternational </p>
5+
* <p> All rights reserved.</p>
6+
* <p> Created on 2018年5月30日 上午10:01:08</p>
7+
* <p> Created by Jason </p>
8+
* </body>
9+
* </html>
10+
*/
11+
package cn.ucaner.spring.tiny.beans.config;
12+
13+
/**
14+
* @Package:cn.ucaner.spring.tiny.beans.config
15+
* @ClassName:AttributeAccessor
16+
* @Description: <p> 元数据操作接口 </p>
17+
* @Author: - Jason
18+
* @CreatTime:2018年5月30日 上午10:01:08
19+
* @Modify By:
20+
* @ModifyTime: 2018年5月30日
21+
* @Modify marker:
22+
* @version V1.0
23+
*/
24+
public interface AttributeAccessor {
25+
26+
/**
27+
* @Description: 设置元数据

28+
* @param name
29+
* @param value void
30+
* @Autor: JASON - jasonandy@hotmail.com
31+
*/
32+
void setAttribute(String name, Object value);
33+
34+
/**
35+
* @Description: 获取元数据

36+
* @param name
37+
* @return Object
38+
* @Autor: JASON - jasonandy@hotmail.com
39+
*/
40+
Object getAttribute(String name);
41+
42+
/**
43+
* @Description: 删除元数据
44+
* @param name
45+
* @return Object
46+
* @Autor: JASON - jasonandy@hotmail.com
47+
*/
48+
Object removeAttribute(String name);
49+
50+
/**
51+
* @Description: 是否含有元数据
52+
* @param name
53+
* @return boolean
54+
* @Autor: jason - jasonandy@hotmail.com
55+
*/
56+
boolean hasAttribute(String name);
57+
58+
/**
59+
* @Description: 获取元数据的name数组
60+
* @return String[]
61+
* @Autor:Jason - jasonandy@hotmail.com
62+
*/
63+
String[] attributeNames();
64+
}

spring-tiny/src/main/java/cn/ucaner/spring/tiny/beans/config/BeanDefinition.java

+39-3
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,58 @@ public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement{
4242
String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SINGLETON.getBeanScope();
4343
String SCOPE_PROTOTYPE = ConfigurableBeanFactory.SCOPE_PROTOTYPE.getBeanScope();
4444

45-
//获得依赖BeanDefinition的名字
45+
/**
46+
* @Description: 获得依赖BeanDefinition的名字
47+
* @return List<String>
48+
*/
4649
List<String> getDepends();
4750

51+
/**
52+
* @Description: 添加依赖
53+
* @param depend void
54+
* @Autor:jason - jasonandy@hotmail.com
55+
*/
4856
void addDepend(String depend);
4957

58+
/**
59+
* @Description: 获取作用域
60+
* @return String
61+
* @Autor: Jason - jasonandy@hotmail.com
62+
*/
5063
String getScope();
5164

65+
/**
66+
* @Description: 设置作用域
67+
* @param scope void
68+
* @Autor: Jason - jasonandy@hotmail.com
69+
*/
5270
void setScope(String scope);
5371

54-
//是否为单例
72+
/**
73+
* @Description: 是否为单例
74+
* @return boolean
75+
* @Autor: Jason - jasonandy@hotmail.com
76+
*/
5577
boolean isSingleton();
5678

57-
//返回对bean定义的可读描述
79+
/**
80+
* @Description: 返回对bean定义的可读描述
81+
* @return String
82+
* @Autor: Jason - jasonandy@hotmail.com
83+
*/
5884
String getDescription();
5985

86+
/**
87+
* @Description: 获取beanClazz
88+
* @return Class<?>
89+
* @Autor: Jason - jasonandy@hotmail.com
90+
*/
6091
Class<?> getBeanClass();
6192

93+
/**
94+
* @Description: 设置beanClazz
95+
* @param beanClass void
96+
* @Autor: wubin - binwu@pcitech.com
97+
*/
6298
void setBeanClass(Class<?> beanClass);
6399
}
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
1-
/**
2-
* <html>
3-
* <body>
4-
* <P> Copyright JasonInternational </p>
5-
* <p> All rights reserved.</p>
6-
* <p> Created on 2018年5月30日 上午10:01:08</p>
7-
* <p> Created by Jason </p>
8-
* </body>
9-
* </html>
10-
*/
11-
package cn.ucaner.spring.tiny.beans.config;
12-
13-
/**
14-
* @Package:cn.ucaner.spring.tiny.beans.config
15-
* @ClassName:BeanMetadataElement
16-
* @Description: <p> 接口:用于承载bean对象 </p>
17-
* @Author: - Jason
18-
* @CreatTime:2018年5月30日 上午10:03:30
19-
* @Modify By:
20-
* @ModifyTime: 2018年5月30日
21-
* @Modify marker:
22-
* @version V1.0
23-
*/
24-
public interface BeanMetadataElement {
25-
26-
//获取当前元素的配置源bean对象
27-
Object getSource();
28-
29-
}
1+
/**
2+
* <html>
3+
* <body>
4+
* <P> Copyright JasonInternational </p>
5+
* <p> All rights reserved.</p>
6+
* <p> Created on 2018年5月30日 上午10:01:08</p>
7+
* <p> Created by Jason </p>
8+
* </body>
9+
* </html>
10+
*/
11+
package cn.ucaner.spring.tiny.beans.config;
12+
13+
/**
14+
* @Package:cn.ucaner.spring.tiny.beans.config
15+
* @ClassName:BeanMetadataElement
16+
* @Description: <p> 接口:用于承载bean对象 </p>
17+
* @Author: - Jason
18+
* @CreatTime:2018年5月30日 上午10:03:30
19+
* @Modify By:
20+
* @ModifyTime: 2018年5月30日
21+
* @Modify marker:
22+
* @version V1.0
23+
*/
24+
public interface BeanMetadataElement {
25+
26+
/**
27+
* @Description: 获取当前元素的配置源bean对象
28+
* @return Object
29+
* @Autor:JASON - jasonandy@hotmail.com
30+
*/
31+
Object getSource();
32+
33+
}

0 commit comments

Comments
 (0)