SpringIOC也称为DI,对属性内容的注入可以通过属性的setXXX方法进行也可以通过构造方法进行,当然还可以使用工厂模式进行属性内容的注入。
什么是DI?什么是IOC?
DI:Dependency Injection依赖注入
其实一个类中的属性就是依赖
注入就是为该属性赋值
比如:
class A{ } class B{//依赖private A a;//注入public void setA(A a){this.a=a; } }
那么IOC是什么呢?
IOC:Inversion of Control,控制反转
都称为IOC容器,就是为我们创建类的对象并且可以为属性赋值
来看看如何使用IOC创建对象:
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd”> <!-- IOC控制反转的对象可以有多个bean,一个bean就是一个反转对象。常用属性:id/name:bean的唯一标记,不要重复class:要创建的对象的类的全称scope:对象的创建方式,取值:1、singleton:单例,在整个ApplicationContext对象中就一个,会维护对象的生命周期2、protortype:多例,每次调用getBean就新建对象,不会维护对象的生命周期3、request:将创建的对象存储在HttpServletRequest的setAttribute中4、session:将创建的对象存储在HttpSession中5、globalSession:在Prolet环境中,使用,非prolet中等价于session --> <!-- 对象属性的值的注入方式 --> <!-- 第一种:通过属性的setXXX方法实现注入 --> <bean id=”user” class=”cn.code404.pojos.User” scope=”singleton”> <!-- 为属性赋值,借助setXXX --> <property name=”id” value=“1”/> <property name=”username” value=”zhangsan”/> <property name=”pass” value=”123456”/> </bean> </beans>
使用单元测试进行调用:
public class IOCTest{//IOC使用之前和之后 @Testpublic void test1(){//IOC之前User user=new User();Syatem.out.println(user);//IOC控制//1.Spring上下文对象ApplicationContext context=new ClassPathXmlApplicationContext(“applicationContext.xml”);//2.获取指定id或name的Bean对象User user2=(User) context.getBean(“user”);System.out.println(user2); } }
以上就是spring的入门使用。