我使用Spring Web MVC在我的Dynamic Web Project的[servlet-name] -servlet.xml中得到了以下bean的declearation? 我已经阅读了很多文档,但stil无法理解拥有这些属性标记的目的是什么?
<bean name="abcController" parent="defController"
class="abcController">
<constructor-arg ref="staticService" />
<property name="commandClass" value="abcCommand" />
<property name="property2" value="search" />
<property name="property3" value="true" />
<property name="formView" value="/someValue" />
</bean>
我知道属性可能是abcController类中的一个字段,但abcController类中没有这样一个名为formView的字段! 有人能帮帮我吗?
答案 0 :(得分:1)
该xml文件用于创建字段,而不会在文件本身中编码这些字段。
// This is used to Start the ApplicationContext Container and to get the Bean of AbcCotroller
ApplicationContext context =
new ClassPathXmlApplicationContext("[servlet-name]-servlet.xml");
abcController obj = (abcController) context.getBean("abcController");
稍后您可以在代码中使用bean:
obj.getFormView(); //this will return '/somevalue'
答案 1 :(得分:0)
//Bean.java
public class SampleBean{
private String message;
public void setMessage(String message){
this.message=message; //setter injection
}
public void ShowMessage(){
system.out.println("Message"+message);
}
}
//Main.java
Class Main{
public Static Void Main(String args[]){
//启动ApplicationContext容器
ApplicationContext applicationcontext = new ClassPathXmlApplicationCOntext("Spring.xml");
//To Read the SampleBean
Object o=applicationcontext .getBean("SampleBean");
SampleBean sampleBean=(SampleBean)o;
//Invoke the Method
sampleBean.ShowMessage();
}
}
//Spring.Xml
//您需要配置一些Spring和Xml
所需的名称空间 <bean id="sampleBean" class="SampleBean">
<property name="message" value="this is the use of property Tag"/>
</bean>
//output :This is the use or Property Tag
解释:当我们想要执行Setter Injection时,我们选择Property 标签 在春天,我们有一些依赖注入,如setter,构造函数,接口,查找方法注入 当我们使用Setter Injection时,首先创建依赖类对象,然后创建依赖类对象