我正在使用Spring MVC作为我的Web应用程序.我的bean写在" spring-servlet.xml"文件中
现在我有一个类MyClass,我想使用spring bean访问这个类
在spring-servlet.xml我写的以下
<bean id="myClass" class="com.lynas.MyClass" />
Run Code Online (Sandbox Code Playgroud)
现在我需要使用它来访问它 ApplicationContext
ApplicationContext context = ??
Run Code Online (Sandbox Code Playgroud)
这样我才能做到
MyClass myClass = (MyClass) context.getBean("myClass");
Run Code Online (Sandbox Code Playgroud)
这该怎么做??
我在这里找不到任何合理的答案所以我希望它不是重复的.那么为什么我更喜欢setter或构造函数注入而不是简单
@Inject
MyBean bean;
Run Code Online (Sandbox Code Playgroud)
如果你需要在类初始化期间对注入的bean执行某些操作,我会使用构造函数注入
public void MyBean(@Inject OtherBean bean) {
doSomeInit(bean);
//I don't need to use @PostConstruct now
}
Run Code Online (Sandbox Code Playgroud)
但是,它几乎和@PostConstruct方法一样,我根本没有得到setter注入,它不仅仅是Spring和其他DI框架之后的遗物吗?