<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!--可以使用p命名空间和c命名空间进行注入--> <!-- xmlns:p="http://www.springframework.org/schema/p"--> <!-- xmlns:c="http://www.springframework.org/schema/c"--> <!--p命名空间注入,可以直接注入属性的值:property--> <!-- <bean id="user" class="com.wang.pojo.User" p:name="小明" p:age="25"/>--> <!--c命名空间注入,通过构造器注入:construct-args--> <bean id="user2" class="com.wang.pojo.User" c:age="18" c:name="小明"/> </beans>
<!--Bean的作用域 singleton:单例模式(Spring默认机制)--> <!-- <bean id="user2" class="com.wang.pojo.User" c:age="18" c:name="小明" scope="singleton"/>--> <!--Bean的作用域 prototype:原型模式 每次从容器中get的时候,都会产生一个新对象--> <bean id="user2" class="com.wang.pojo.User" c:age="18" c:name="小明" scope="prototype"/>
其余的request、session、application这些只能在web开发中使用到。
ApplicationContext context = new ClassPathXmlApplicationContext("userbeans.xml"); User user = context.getBean("user2", User.class); User user2 = context.getBean("user2", User.class); System.out.println(user); System.out.println(user.hashCode()); System.out.println(user2.hashCode()); System.out.println(user==user2); // True singleton System.out.println(user==user2); // false prototype