历经几小时,终于把Spring-IOC介绍和操作讲得明明白白,系统学Java从零开始

通过少量的配置ApplicationContext就可以开箱即用spring,通常一个单独的应用是会创建ClassPathXmlApplicationContext 或者 FileSystemXmlApplicationContext 实例。尽管 xml 是 一种传统的配置元数据的格式,但是你也可以使用少量的xml显示声明的支持java注解和或者Java代码这种元数据格式。在许多应用场景中会创建很多个IOC container 而不是一个。

当你的对象和配置元数据完成之后,ApplicationContext 会初始化和创建,然后你就可以完全执行系统或者应用,如下图:

历经几小时,终于把Spring IOC介绍和操作讲得明明白白

三 、初识配置元数据

spring 的 配置 最少需要一个或者多个bean,基于xml的配置 需要在顶级元素 内部,对应的基于java 配置就是 @Bean(用于方法上面) 注解 和 @Configuration(用于类上面)注解。在 中 id 表示 bean的唯一标识,class表示bean的全类名,示例如下:

<?xml version="1.0" encoding="UTF-8"?>

四、实例化container

提供给ApplicationContext一个或者多个字符串形式的资源路径,ApplicationContext就会通过这个资源路径去加载这些外部 configuration metadata。

ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {“services.xml”, “daos.xml”});

在 的属性中 name 元素 表示 javaBean的属性,ref指向其它bean的定义。

<?xml version="1.0" encoding="UTF-8"?>

五、组装xml

在实际开发中业务层和逻辑层是分开的,也就是说一个xml配置bean耦合度太高,我们需要解耦就需要定义多个mxl,但是,如何在一个xml中引用另一个xml中的bean呢? 我们可=可以通过 元素加载来自其他xml中的bean。在引入外部的xml时,都是当前xml的相对路径,如下示例:services.xml在当前xml同级目录,message.xml在当前xml目录的子目录。

六、使用container

ApplicationContext 是一个高级factory维持着不同的bean和依赖关系注册表。使用 这个接口的T getBean(String name, Class requiredType) 方法就能获得bean的实例。

6.1、pom.xml

org.springframework spring-core 5.0.0.RELEASE org.springframework spring-context 5.0.0.RELEASE org.springframework spring-beans 5.0.0.RELEASE

6.2、dao

/**

  • @Author lsc
  • @Description

    ioc dao

  • @Date 2019/10/29 20:04
    */
    public class IocDao {
    }

6.3、service

/**

  • @Author lsc
  • @Description

  • @Date 2019/10/29 20:03
    */
    public class IocService {

private IocDao iocDao;

private String name;

public IocDao getIocDao() {
return iocDao;
}

public void setIocDao(IocDao iocDao) {
this.iocDao = iocDao;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

6.4、dao.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.s

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

pringframework.org/schema/beans/spring-beans.xsd">

.youku1327.ioc.dao.IocDao">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值