Spring学习2-IOC创建对象方式与配置

1、对象创建方式

1.1 使用无参构造创建(默认方法)
  • 创建一个类User.java
public class User {
   private String name;
   public User() {
       System.out.println("user无参构造方法");
  }
   public void setName(String name) {
       this.name = name;
  }
   public void show(){
       System.out.println("name="+ name );
  }
}
  • beans.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="user" class="com.kuang.pojo.User">
       <property name="name" value="kuangshen"/>
   </bean>
</beans>
  • 测试
@Test
public void test(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   //在执行getBean的时候, user已经创建好了 , 通过无参构造
   User user = (User) context.getBean("user");
   //调用对象的方法 .
   user.show();
}

在调用show方法之前,User对象已经通过无参构造初始化了!

1.2 使用有参构造
  • 创建一个类User.Tjava
public class UserT {
   private String name;
   public UserT(String name) {
       this.name = name;
  }
   public void setName(String name) {
       this.name = name;
  }
   public void show(){
       System.out.println("name="+ name );
  }
}
  • 3种赋值方式

——下标赋值

<!-- 第1种根据index参数下标设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <!-- index指构造方法 , 下标从0开始 -->
   <constructor-arg index="0" value="kuangshen2"/>
</bean>

——类型赋值

**<!-- 第2种根据参数类型设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <constructor-arg type="java.lang.String" value="kuangshen2"/>
</bean>**

基本类型直接用,引用类型要写全。假如类型存在相同报错,不推荐使用。

——参数名赋值

<!-- 第3种根据参数名字设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <!-- name指参数名 -->
   <constructor-arg name="name" value="kuangshen2"/>
</bean>
  • 测试
@Test
public void testT(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   UserT user = (UserT) context.getBean("userT");
   user.show();
}

2、Spring配置

(1)别名

  • alias 为bean设置别名 , 可以设置多个。
<!--设置别名:在获取Bean的时候可以使用别名获取-->
<alias name="userT" alias="userNew"/>

(2)Bean的配置

  • bean就是java对象,由Spring创建和管理;
  • id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符;
  • 如果配置id,又配置name,那么name是别名,name可设置多个别名,可以用逗号,分号,空格隔开;
  • 如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象,class是bean的全限定名=包名+类名。
<bean id="hello" name="hello2 h2,h3;h4" class="com.kuang.pojo.Hello">
   <property name="name" value="Spring"/>
</bean>

(3)import

  • 用于团队合作开发时合并xml文件。
<import resource="{path}/beans.xml"/>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值