我正在开发一个基本的 Swing 应用程序,即使我总是倾向于使用 Spring Ioc(带有 xml 配置)进行依赖注入,我也想尝试 CDI-Weld。在 Spring 中完成以下结构后,容器创建 aSchoolBoy
和 a UniversityStudent
,每个都有其名称。
public class Student{
protected String name;
public void setName(String name){
this.name = name;
}
}
public class SchoolBoy extends Student{
}
public class UniversityStudent extends Student{
}
<bean class="SchoolBoy">
<property name="name" value="Daniel" />
</bean>
<bean class="UniversityStudent">
<property name="name" value="Rose" />
</bean>
@Inject @Config
我已经看到可以使用注释在 CDI 中做类似的事情。但是,每次我看到这个,它们都在属性本身之上,并且作为一个继承的属性,我不能在这里为我的类这样做。我如何实现每个Student
子类以获得自己的name
价值?
更新
在子类中注入这些值并不一定意味着在配置文件中硬编码它们。属性值本身可以从.properties文件中获取。但是,考虑到遗留项目的边缘情况,Student
我想从中继承我的类并注入该属性,解决方案可能是什么?