当前位置:首页 » 《休闲阅读》 » 正文

Java-29 深入浅出 Spring - IoC 基础 启动IoC容器的方式 Java方式与Web(XML、配置)方式

9 人参与  2024年12月25日 12:01  分类 : 《休闲阅读》  评论

点击全文阅读


点一下关注吧!!!非常感谢!!持续更新!!!

大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html

在这里插入图片描述

目前已经更新到了:

MyBatis(已更完)Spring(正在更新…)

在这里插入图片描述

IoC 基础

在这里插入图片描述

BeanFactory 和 ApplicationContext 区别

BeanFactory 是 Spring 框架中 IoC 容器的顶层接口,它只是用来定义一些基础功能,定义一些基础规范,而 ApplicationContext 是它的一个子接口,所以 ApplicationContext 是具备 BeanFactory 提供的全部功能。
通常,我们称 BeanFactory 为 SpringIoC 容器,ApplicationContext 是容器的高级接口,比 BeanFactory 要拥有更多的功能,比如说国际化支持和资源访(XML、Java 配置类)等等。
在这里插入图片描述

BeanFactory

是 Spring 框架的核心接口,提供了最基本的 IoC 容器 功能。主要用于延迟初始化(懒加载)bean。适合用于资源受限的环境(例如:移动设备、嵌入式系统)。实现类:DefaultListableBeanFactory。

ApplicationContext

是 BeanFactory 的子接口,提供了更多的功能。适合大型企业级应用,提供事件发布、国际化支持等高级功能。实现类:ClassPathXmlApplicationContext、FileSystemXmlApplicationContext 等。

请添加图片描述

BeanFactory 场景

用于资源受限的环境或测试场景。如果应用程序不需要 ApplicationContext 的高级功能,BeanFactory 是一个更轻量级的选择。

ApplicationContext 场景

用于企业级应用,支持国际化、事件监听、AOP 等高级功能。推荐在大部分 Spring 应用中使用。

项目准备

拷贝项目

我们把上一节的项目拷贝一份,后续将在上节的基础上进行调整。

添加依赖

需要在上节的依赖的基础上,加入下面的新的依赖:

<!-- Spring --><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context</artifactId>    <version>5.1.12.RELEASE</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-web</artifactId>    <version>5.1.12.RELEASE</version></dependency><dependency>    <groupId>javax.annotation</groupId>    <artifactId>javax.annotation-api</artifactId>    <version>1.3.2</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-aop</artifactId>    <version>5.1.12.RELEASE</version></dependency><dependency>    <groupId>org.aspectj</groupId>    <artifactId>aspectjweaver</artifactId>    <version>1.8.13</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-jdbc</artifactId>    <version>5.1.12.RELEASE</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-tx</artifactId>    <version>5.1.12.RELEASE</version></dependency>

对应截图如下所示:
在这里插入图片描述

启动 IoC 容器

Java 环境

ClassPathXmlApplicationContext:从类的根路径下加载配置文件(推荐使用)FileSystemXmlApplicationContext:从磁盘路径上加载配置文件AnnotationConfigApplicationContext:纯注解模式下启动 Spring 容器

Web 环境

XML 方式

从 XML 启动容器,修改 webapp 下的 WEB-INF 下的 web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1">    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener></web-app>

对应的截图如下所示:
在这里插入图片描述

配置类 方式

从配置类启动容器

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1">    <context-param>        <param-name>contextClass</param-name>        <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>    </context-param>    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>wzk.SpringConfig</param-value>    </context-param>    <!--使⽤监听器启动Spring的IOC容器-->    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener></web-app>

对应的截图如下所示:
在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/206603.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 拍卖会点天灯后,男友拍卖我365张私房照全书+后续(林书雅秦斯年)免费_拍卖会点天灯后,男友拍卖我365张私房照全书+后续精彩(林书雅秦斯年)
  • 人面桃花长相忆正版(阮雾梨闻砚辞)_人面桃花长相忆正版
  • 五一老婆难产大出血,我却在4s店买劳斯莱斯后续完整大结局_[清清兰博基尼江荣]人气小说未删减节选
  • 人面桃花长相忆精选(阮雾梨闻砚辞)全书免费_(阮雾梨闻砚辞)人面桃花长相忆精选后续(阮雾梨闻砚辞)
  • 转身即漫漫霜华(顾司爵叶诗言),转身即漫漫霜华
  • 拍卖会点天灯后,男友拍卖我365张私房照全书+后续+结局(林书雅秦斯年)列表_拍卖会点天灯后,男友拍卖我365张私房照(林书雅秦斯年)拍卖会点天灯后,男友拍卖我365张私房照全书+后续+结局在线
  • (番外)+(结局)阮雾梨闻砚辞(人面桃花长相忆+结局+番外)_(阮雾梨闻砚辞)列表_笔趣阁(人面桃花长相忆+结局+番外)
  • [清风遥相止,不复绕君心]免费试读_萧尘逸清瑶嫣然完结
  • 女友嫌我是上不了台面的古惑仔,我离开后她却悔疯了小说章节免费试读_「女友沈重小混混」反转剧情试读片段
  • 顾司爵叶诗言(转身即漫漫霜华结局+番外)_顾司爵叶诗言列表_笔趣阁(转身即漫漫霜华结局+番外)
  • 转身即漫漫霜华***(顾司爵叶诗言),转身即漫漫霜华***
  • 锈蚀爱恨叩凡心在线看(慕泾川)_锈蚀爱恨叩凡心在线看

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1