在我的办公室,我们使用 Java、Apache Wicket。现在熟悉 Wicket 的人可能知道这个SpringBean
注解了。对于那些不知道的人,您可以将其视为 Wicket 与 Spring 通信的方式。当一个类继承类似WebPage
or的 wicket 类Panel
时,spring is 依赖项会自动注入。但是有一种方法可以明确告诉 Spring 注入依赖项,如果它不是 wicket 组件的子类,它是
Injector.get().inject(this);
它就像一把瑞士刀。
现在让我们进入正题。最近我看到我的同事正在研究一个使用数据库的类(并且绝对独立于检票口),他抱怨得到一个 NullPointer,我告诉他他正在使用SpringBean
注释并且因为他没有使用检票口类作为父类,他必须告诉 spring 注射,或者使用瑞士刀。
相反,他只是让类扩展WebPage
了代表网页的类。当我告诉他这不是正确的方法时,因为该课程与 WebPage 课程无关,他说这没关系,因为它使事情起作用,他也会在其他地方使用它。
我的问题是扩展一个类是否正确,即使它不是为那些东西制作的?