快速上手Spring
一、Ioc创建对象的方式
1.1 通过无参构造创建
-
package com.aishimin.pojo; public class User { private String name; public User(){ System.out.println("这是User的无参构造"); } public String getName() { return name; } public void setName(String name) { this.name = name; } public void show(){ System.out.println("name="+name); } }
-
beans.xml
<bean id="user" class="com.aishimin.pojo.User"> <property name="name" value="路飞"/> </bean>
-
测试类
public class MyTest { @Test public void testUser(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); User user = (User) context.getBean("user"); user.show(); } }
通过断点测试发现,在程序执行getBean的时候,user就已经创建好了,User对象已经通过无参构造初始化了。
1.2 通过有参构造方法创建
-
User.java
package com.aishimin.pojo; public class User { private String name; public User(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void show(){ System.out.println("name="+name); } }
-
beans.xml有三种方式编写
<!--通过index指定有参构造参数的下标值--> <bean id="user" class="com.aishimin.pojo.User"> <constructor-arg index="0" value="lufei"/> </bean> <!-- 通过有参构造参数的类型设置--> <bean id="user" class="com.aishimin.pojo.User"> <constructor-arg type="java.lang.String" value="路飞"/> </bean> <!-- 通过有参构造参数名字设置--> <bean id="user" class="com.aishimin.pojo.User"> <constructor-arg name="name" value="路飞"/> </bean>
-
测试
public class MyTest { @Test public void testUser(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); User user = (User) context.getBean("user"); user.show(); } }
在此处做了一个小测试,证明了我们所用的对象在getBean的时候已经创建完毕了
-
编写测试类UserT,只设置空的无参构造
package com.aishimin.pojo; public class UserT { public UserT(){ System.out.println("UserT被创建了"); } }
-
beans.xml
<bean id="userT" class="com.aishimin.pojo.UserT">
-
测试
public class MyTest { @Test public void testUser(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); User user = (User) context.getBean("user"); user.show(); } }
可以看出,我们在测试的时候并没有去拿userT的对象,但是在控制台却输出了我们UserT无参构造的方法,由此可见确实在getBean时,我们的对象就已经创建了。
二、Spring配置
别名
alias设置别名,为bean设置别名,可以设置多个别名
<!--设置别名,在获取bean的时候可以使用bean来获取--> <alias name="user" alias="userNew"/>
Bean的配置
<!-- 通过有参构造参数名字设置--> <!-- 1.id是bean的唯一标识符,如果没有配置id,name就是默认的标识符 2.如果设置里id,又配置了name,那么name是别名,name可以设置多个别名,之间用逗号空格分隔符隔开 如果不配置id和name可以通过application.getBean(.class)来获取对象 3.class是bean的全限定名 = 包名+类名--> <bean id="user" class="com.aishimin.pojo.User"> <constructor-arg name="name" value="路飞"/> </bean>
import
团队开发使用import实现。


浙公网安备 33010602011771号