File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
Spring_part_3/src/main/java/spring/oldboy/bean_post_processor Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ package spring .oldboy .bean_post_processor ;
2+
3+ import java .lang .annotation .ElementType ;
4+ import java .lang .annotation .Retention ;
5+ import java .lang .annotation .RetentionPolicy ;
6+ import java .lang .annotation .Target ;
7+
8+ /*
9+ Поскольку наша аннотация нужна будет в RunTime, то RetentionPolicy.RUNTIME,
10+ т.к. по умолчанию RetentionPolicy.CLASS. Аннотация @Target указывает над чем
11+ будет использоваться наша аннотация - над полем (FIELD).
12+ */
13+ @ Retention (RetentionPolicy .RUNTIME )
14+ @ Target (ElementType .FIELD )
15+ public @interface InjectBean {
16+ /*
17+ Нам понадобится bean пост-процессор, который будет смотреть аннотации над
18+ полями bean-ов и если такое поле есть, то он будет искать в контексте
19+ требуемый bean и внедрять его.
20+
21+ Т.е. если мы аннотируем данной аннотацией поле:
22+
23+ @InjectBean
24+ private StarterConnectionPool starterConnectionPool;
25+
26+ То наш самописный пост-процессор найдет bean класса StarterConnectionPool и
27+ сделает инъекцию в данное поле.
28+ */
29+ }
You can’t perform that action at this time.
0 commit comments