Sring的ico属性注入


ioc入门案例

  第一步  导入jar 包

  第二步  创建类,在类里面创建方法

  第三步  创建spring配置文件,配置创建类。

  第四步  写代码测试对象创建






Bean  标签常用属性

    (1) id属性: 起名称,id属性值名称任意命名

           id属性值 ,不能包含特殊符号

    (2) class属性  创建对象所在类的全路径

    (3) name属性   功能和id属性一样的,id属性值不能包含特殊符号,但是在namea属性值里面

       可以包含符号。

    (4) scope属性  

          singleton:默认值,单实例

          prototype:多实例

Sring的ico属性注入,使用三种方法注入_属性值



Sring的ico属性注入,使用三种方法注入_Sping入门程序_02


Sring的ico属性注入,使用三种方法注入_xml_03










属性注入 :  1创建对象时候,向类里面属性里面设置值
         属性注入的方式介绍(三种方式)
         (1) 使用set方法注入
         (2) 使用有参数构造注入
         (3) 使用接口注入
          
       在spring框架里面,支持前两种方式
        (1)set方法注入(重点)


              (2)有参数构造注入


配置文件bean1.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">

	<!-- ioc入门 -->
	<!-- <bean id="user" class="com.cn.ioc.User"></bean> -->
	<!-- 使用静态工厂创建对象 -->
	 <bean id="Bean2" class="com.cn.bean.Bean2Factory" factory-method="getBean2"></bean> 
	<!-- 使用实例工厂创建 -->
	<!-- 创建工厂对象-->
<!-- 	<bean id="Bean3Factory" class="com.cn.bean.Bean3Factory"></bean>
	    <bean id="Bean3" factory-bean="Bean3Factory" factory-method="getBean3">
	</bean>  -->
	<!-- 使用参数构造注入方式注入属性 -->
	 <!-- <bean id="demo" class="com.cn.propery.ProperyDemo1">
	  <constructor-arg  name="username" value="小王小马"></constructor-arg>
	</bean> --> 
	<!-- 使用set注入属性 -->
	 <bean id="book1" class="com.cn.propery.Book">
		
		<!--  注入属性属性值
		     name属性值:类里面定义的属性名称
		     value属性 设置具体的值 -->
		 <property name="bookname" value="你"></property>
	</bean> 
	<!-- 注入对象时类型属性 -->
	<bean id="userDao" class="com.cn.ioc.UserDao">
	</bean>
	<bean id="userService" class="com.cn.ioc.UserService">
	<!-- 
	   注入dao对象
	     现在不要写value属性,因为刚才是字符串,现在是对象
	   写ref属性: dao配置bean的id属性
	 -->
	 <property name="userDao" ref="userDao" ></property>
	</bean>
</beans>


UserDao.java


package com.cn.ioc;

public class UserDao {

	public void add(){
		System.out.println("dao........");
	}
}

UserService.java


package com.cn.ioc;

public class UserService {
	//1.定义dao类型属性
	private UserDao userDao;
	
	//2 生成set方法	
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	public void add(){
		System.out.println("service........");
		userDao.add();
	}
}

测试类




Sring的ico属性注入,使用三种方法注入_属性值_04




测试结果



Sring的ico属性注入,使用三种方法注入_Spring_05