webx的依赖注入和Spring的依赖注入非常像,只有注入的时候只能让生命周期长的注入到生命周期短的对象中,比如requestScope对象注入到singleton时就会发生错误。但是对于一些特殊的对象,比如request、session、response它们的生命周期是requestScope,而它们可以注入到任意对象中,这是因为webx对这些对象进行了特殊的处理。
(1)可以通过Spring中的Autowired字段进行注入。
@Autowired private UserManager userManager;
(2)可以通过@Param @Params注入URL中的query参数。
void doGetInt(@Param("aaa") int i) void doSetData(@Params MyData myData)
(3)注入框架对象,不需要任何注解。
void doGetNavigator(Navigator nav) void doGetContext(Context context) void execute(ControlParameters params)
(4)注入Context和Control中的对象。
void execute(@ContextValue("myvalue") int value)
(5)注入整个表单。
void doGetGroup(@FormGroup("myGroup1") Group group) void doGetGroups(@FormGroups("myGroup1") Group[] groups) void doGetGroupsBeans(@FormGroups("myGroup1") MyData[] data)