name属性
bean标签的name属性可以用来给bean对象配置别名。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- name属性表示为myBean对象取别名,可以取多个别名,多个别名之间使用空格、逗号、分号等分隔(任何一种符号都可以)。 --> <bean id="myBean" class="com.yun.pojo.MyBean" name="myBean2 myBean3,myBean4;myBean5"> <property name="name" value="zhangsan"/> </bean> </beans>
scope属性
用来标识该bean的作用域的,如果不显式设置它的话,它的默认值为singleton,即单例模式。另外一个常用的值是prototype,原型模式,即每一次通过getBean方法拿到的对象都是不同的对象。
singleton示例:示例的打印结果为true
import com.yun.pojo.User; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("userBeans.xml"); // 传入User.class后就不用强转了 User user = context.getBean("user", User.class); User user2 = context.getBean("user", User.class); System.out.println(user == user2); } }
这是标签从名字就可以看出来,作用是取别名,但是因为bean标签的name属性也有相同的功能,且更方便,所以这个标签一般不常用。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myBean" class="com.yun.pojo.MyBean"> <property name="name" value="zhangsan"/> </bean> <!-- 为对象myBean配置别名,通过Spring获取对象时,传入myBean和myBean2都是一样的 --> <alias name="myBean" alias="myBean2"/> </beans>
import标签的作用是将其他的xml配置文件中的内容合并到当前xml文件中,加载xml文件时只需要加载当前文件即可。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myBean" class="com.yun.pojo.MyBean"> <property name="name" value="zhangsan"/> </bean> <!-- 将其他xml配置中合入到当前文件中 --> <import resource="beans2.xml"/> <import resource="beans3.xml"/> <import resource="beans4.xml"/> </beans>