SpringIOC

本文介绍Spring框架的核心配置方法及使用注解的方式进行依赖注入。内容涵盖配置文件的放置位置、对象创建与关系组装的过程,以及如何利用ClassPathApplicationContext读取配置文件。此外,还详细讲解了依赖注入的各种方式,包括通过setter方法、构造器注入以及集合类型的配置。最后,文章还介绍了Spring注解的使用方法,如@Component、@Autowired等。

spring  是一种轻量级 控制反转(IOC)和面向切面编程(AOP)的容器框架

IOC:控制反转,控制权反转,应用程序本身不负责依赖对象的创建和维护,而是由 外部容器负责创建和维护

  DI :依赖注入 是其一种实现方式  

    目的 创建对象并且组装对象之间的关系

spring核心的配置文件 要放在src目录下

 使用 ClassPathApplicationContext context =  new ClassPathApplicationContext("beans.xml");  读取到配置文件

普通对象 在配置文件中的配置  <bean id="user" class="com.zr.beans.User"></bean>

在bean标签下 可以通过<property name="" value=""/>来配置 注入对象中属性的值  这实际上是调用了类中的setter方法

 也可以通过<constructor-arg  name="" value=""/>   这个实际上是通过构造器注入

如果对象的属性 是一个引用类型的对象  在上两种标签中使用 ref来指定引用    指定的这个引用 必须是配置文件中有的对象

如果对象是一个集合  在上两个标签中使用<list></list> 或者 <set></set>  ,还有 <map></map>

               在这三个集合标签中可以使用<value>来指定基本类型的值 或者String类型的值  

                                                           使用<ref  bean=""> 来指定引用对象

    在map标签中 使用的是 <entry key="" value-ref=""></entry>


在spring的配置文件中 bean 可以配置的属性  init-method  destory-method  scope  lazy-init   autowire

给bean中的lazy-init="true"则只有在使用的对象的时候指定的方法才会被调用。

scope 设置为singleton 单例  指的是在配置文件中的bean 只存在一份

            设置为prototype 每次请求获取 bean 都会创建新的对象

autowire 可以设置byName  也可设置byType 通过类型自动注入的时候 多个相同类型则不能注入



在配置注解的时候首先得先让spring容器扫描包

<context:component-scan base-package="com.sram.entity"></context:component-scan>

自动注入的时候 匹配的name的值为类名首字母小写

注解

@Autowire  

也可以

@Autowired

 @Qualifier(value="user")配合使用 

这个就相当于

@Resource(name=”user”))


常用的注解

@Autowired;//自动注入

@Qualifier;//指定要注入bean的id---配置文件中有多个bean对象的时候

@Resource;//以上两种注解的合并

@Component;//相当于在IOC容器中创建了一个类的bean,默认id是类名首字母小写

@Component注解是完成向IOC容器注入一个bean,但是在实际开发过程中@Component被进行了优化,其实就是将@Component进行分层了:@Repository(持久层)   @Service(服务层)    @Controller(控制层),在使用者三个注解的时候其实和直接使用@Component时一样的效果:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值