Sring的ico属性注入
ioc入门案例
第一步 导入jar 包
第二步 创建类,在类里面创建方法
第三步 创建spring配置文件,配置创建类。
第四步 写代码测试对象创建
Bean 标签常用属性
(1) id属性: 起名称,id属性值名称任意命名
id属性值 ,不能包含特殊符号
(2) class属性 创建对象所在类的全路径
(3) name属性 功能和id属性一样的,id属性值不能包含特殊符号,但是在namea属性值里面
可以包含符号。
(4) scope属性
singleton:默认值,单实例
prototype:多实例
属性注入 : 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();
}
}
测试类
测试结果