User类:
public class User { public String name; public void setName(String name) { this.name = name; } }xml配置:
<bean id="user" class="com.d.Spring.IOC.User"> <property name="name" value="sudi"></property> </bean>测试类:
public class testDemo { @Test public void demo(){ ApplicationContext context = new ClassPathXmlApplicationContext("demo.xml"); User user = context.getBean("user",User.class); System.out.println(user.name); } }User类中必须有对应属性的set方法,否则则会报错。
User类:
public class User { public String name; public String password; public User(String name, String password) { this.name = name; this.password = password; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", password='" + password + '\'' + '}'; } }xml配置文件:
<bean id="user" class="com.d.Spring.IOC.User"> <constructor-arg name="name" value="sudi"></constructor-arg> <constructor-arg name="password" value="112456"></constructor-arg> </bean>若直接用property则会报错:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 13 in XML document from class path resource [demo.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 46; 与元素类型 "property" 相关联的 "value" 属性值不能包含 '<' 字符。使用<![CDATA[ ]]>将带有特殊符号的属性值放入相应位置即可。
