SpringIOC

作者: 张天偿 | 来源:发表于2017-05-06 23:25 被阅读0次

配置bean

class: bean 的全类名,通过反射的方式在IOC容器中创建Bean,所以要求Bean中必须有无参数的构造方法。

id:唯一的。

setter注入

<bean id="" class="">

<property name="" value=""></property>

</bean>

构造器注入

<bean id="" class="">

<constructor-arg value="" type="java.lang.String"></constructor-arg>

<constructor-arg value="" index="0"></constructor-arg>

</bean>

细节

1.用property的<ref>属性简历bean之间的引用关系

<property name="" ref=""></property>

2.在内部声明bean(不能被别的bean引用)

<bean class="">

<constructor-arg value=""></constructor-arg>

</bean>

bean的作用域

<bean id="" class="" scope="prototype/singleton(默认)"></bean>

prototype:每申请一次生成一个新的bean(容器初始化时不创建)

singleton:整个容器声明周期内只创建一个bean(容器初始化时就创建了这个bean)

IOC容器中bean的生命周期方法

1.通过构造器或工厂方法创建bean实例

2.为bean的属性设置值和对其他bean的引用

3.调用bean的初始化方法

4.bean可以使用

5.容器关闭时,调用bean的销毁方法

<bean id="" class="" init-method="" destroy-method=""></bean>自己定义初始化和销毁方法。

实现BeanPostProcessor接口,并具体提供以下两个方法:

init-method之前被调用

Object postProcessBeforeInitialization(Object bean,String beanName)

init-method之后被调用

Object postProcessAfterInitialization(Object bean,String beanName)

可以在以上两个方法中修改返回的bean,甚至返回一个新的bean。

通过静态工厂方法来配置bean

class:指向静态工厂方法的全类名

factory-method:指向静态工厂方法的名字

constructor-arg:工厂方法需要传入参数时,用这个配置参数。

通过实例工厂方法来配置bean

配置工厂实例

<bean id="factory" class="com.instancefactory"></bean>

通过实例工厂方法来配置bean

<bean id="" factory-bean="factory" factory-method="getcar">

<constructor-arg value="ford"></constructor-arg>

</bean>

用注解联系两个bean之间的关系

1.某个变量或set方法之前加@Autowired注解,如下所示

@Autowired

private  UserService uservice

这样就可以在ioc容器中自动找相应的bean

2.若一个接口有多个类型兼容的实现bean,那么@Autowired之后的括号中可以命名一个同一实现的属性名,如下

@UserService("userService")

public class UserServiceImpl implents UserService

@Autowired

public void setUserService(UserService userService)

3.也可以在对象和set方法之前加上@Autowired和@Quallifier如下所示

@Autowired

@Qualifier("userRepositoryImpl")

public void setUserRepository(UserRepository userrepository){

this.userrepository=userrepository;

}

相关文章

  • 手写springioc

    手写简易springIOC springIOC的特点 spring ioc,spring容器,根据xml配置,或者...

  • spring源码解析之SpringIOC源码解析(上)

    SpringIOC源码解析(上) 一、什么是SpringIOC spring ioc指的是控制反转,IOC容器负责...

  • spring bean 生命周期

    springIOC 容器中bean 的生命周期方法 springioc容器可以管理bean的生命周期,spring...

  • springIoc

    1、Ioc(Inverse of control,控制反转) 控制:指对象的控制权 反转:控制权从调用类中移除,由...

  • SpringIOC

    Spring的控制反转(IOC) 把对象的创建初始化、销毁等工作交给spring容器来做,由spring容器来控制...

  • springIOC

    IOC的组成体系结构 1、资源定位(配置文件定位) 2、载入(读取配置文件) 3、注册(把加载以后的配置文件解释成...

  • SpringIOC

    SpringIOC 博客链接 概述 IOC,全称"Inverse Of Control",中文意思为:控制反转。那...

  • SpringIOC

    基本概念 IoC是什么? 如果这个问题要是面试的问题,那么我会这么回答。 IoC(Inversion of Con...

  • SpringIOC

    配置bean class: bean 的全类名,通过反射的方式在IOC容器中创建Bean,所以要求Bean中必须有...

  • SpringIOC

    作为一个容器,通过配置文件或者注解描述类与类之间的依赖关系,自动完成类的初始化和依赖注入的工作 Spring的核心...

网友评论

      本文标题:SpringIOC

      本文链接:https://www.haomeiwen.com/subject/mnojtxtx.html