Spring笔记:常用xml标签和属性
1. bean标签
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);
}
}
2. alias标签
这是标签从名字就可以看出来,作用是取别名,但是因为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>
3. import标签
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>