Spring日常笔记记录03--设值注入的概念
一、di:依赖注入,表示创建对象,给属性赋值。
二、di的实现有两种:
1.在spring的配置文件中,使用标签和属性完成,叫做基于XML的di实现
2.使用spring中的注解,完成属性赋值,叫做基于注解的di实现
三、di语法分类:
1.set注入(设置注入):spring调用类的set方法,在set方法可以实现属性的赋值
80%左右都是使用set注入
2.构造注入,spring调用类的有参数构造方法,创建对象。在构造方法中完成赋值
四、实现案例(重复步骤可以看String日常笔记记录01)
1.创建maven项目
2.加入maven的依赖
spring的依赖,版本5.2.5
junit依赖
3.创建类
package com.example.ba01; public class Student { private String name; private int age; public void setName(String name) { System.out.println("setName:"+name); this.name = name; } public void setAge(int age) { System.out.println("setAge:"+age); this.age = age; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
4.创建spring需要使用的配置文件(文件名命名:applicationContext.xml)
声明类的信息,这些类由spring创建和管理
通过spring的语法,完成属性的赋值
<?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"> <!--声明student对象 注入:就是赋值的意思 简单类型:spring中规定java的基本数据类型和string都是简单类型 di:给属性赋值 1.set注入(设值注入):spring调用类的set方法,可以在set方法中完成属性赋值 1)简单类型的set注入 <bean id="xx" class="yyy"> <property name="属性名字" value="此属性的值"/> 一个property只能给一个属性赋值 <property......> </bean> --> <bean id="myStudent" class="com.example.ba01.Student"> <property name="name" value="李四"/><!--setName("李四")--> <property name="age" value="20"/><!--setAge(20)--> </bean> </beans>
5.测试spring创建的对象
@Test public void test01(){ String config = "ba01/applicationContext.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(config); //从容器中获取Student对象 Student myStudent = (Student) ac.getBean("myStudent"); System.out.println("student对象="+myStudent); }