1. id 属性:起名称,id属性任意命名,但不能包含特殊符号;-----------根据id值得到配置对象;
2.class属性:创建对象所在类的全路径;
3. name属性:功能跟id一样,但可以包含特殊符号;
4. scope 属性:
1). singleton : 默认值,对象是单利的(只有一个对象),
2). prototype: 多实例的对象;
3).request 创建了对象,把对象放在request域里面(不常用)
4).session(不常用)
5).globalsession : 全局session(不常用) eg:单点登录(有替代技术)
-------------------------------------------------------------------------------------------------------------------------------
5.值注入:
1)set注入:
2)有参构造注入:
eg:有参构造注入:
public class UserClass {
private String username;
public UserClass(String username) {
this.username = username;
}
public void test(){
System.out.println("===有参构造注入=="+username);
}
}
<!-- 有参构造注入 -->
<bean id="userArg" class="ioc.UserClass"><!-- 创建对象 -->
<constructor-arg name="username" value="小谢"></constructor-arg><!-- name:有参构造的参数 -->
</bean>
@Test
public void test3(){
ApplicationContext con=new ClassPathXmlApplicationContext("mapper/spring.xml");
UserClass us=(UserClass) con.getBean("userArg");
us.test();
}
eg:set注入:(常用)
public class SteClass {
private String nameSet;
public void setNameSet(String nameSet) {
this.nameSet = nameSet;
}
public void testSet(){
System.out.println("setTest===="+nameSet);
}
}
<bean id="setname" class="ioc.SteClass">
<property name="nameSet" value="set小谢"></property>
</bean>
@Test
public void test3(){
ApplicationContext con=new ClassPathXmlApplicationContext("mapper/spring.xml");
SteClass us=(SteClass) con.getBean("setname");
us.testSet();
}