当前位置: 首页 > news >正文

洛阳网站建设费用山东东方路桥建设总公司官方网站

洛阳网站建设费用,山东东方路桥建设总公司官方网站,凡科专属网站免费注册,淘宝网页设计报告软件设计之SSM(1) 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷新版SSM框架全套视频教程,Spring6SpringBoot3最新SSM企业级开发 资料可以去尚硅谷官网免费领取 学习内容: Spring框架结构SpringIoC容器SpringIoC实践…

软件设计之SSM(1)

路线图推荐:
【Java学习路线-极速版】【Java架构师技术图谱】
尚硅谷新版SSM框架全套视频教程,Spring6+SpringBoot3最新SSM企业级开发
资料可以去尚硅谷官网免费领取

学习内容:

  1. Spring框架结构
  2. SpringIoC容器
  3. SpringIoC实践与应用

1、Spring框架结构

Spring是一个开源的Java框架,旨在简化Java企业级应用的开发。Spring Framework是其核心部分,提供了依赖注入、面向切面编程和事务管理等功能。所以一般Spring框架指的是Spring Framework,广义上的 Spring 泛指以 Spring Framework 为基础的 Spring 技术栈。

Spring Framework主要功能模块

模块功能描述
核心容器提供对象管理和依赖注入,支持Bean配置和生命周期管理。
AOP支持面向切面编程,允许将横切关注点(如日志、事务)与业务逻辑分离。
数据访问/集成简化JDBC操作,支持ORM框架(如Hibernate),提供数据访问的统一方式。
Web模块支持Spring MVC架构,创建Web应用程序,提供REST支持和文件上传功能。
安全模块提供Spring Security,用于应用程序的身份验证和授权。
消息模块提供对消息中间件(如JMS)的支持,支持异步处理。
声明式事务管理通过注解或XML配置简化事务管理,允许在方法上声明事务属性,自动处理事务边界。

2、SpringIoC容器

  • 在Spring框架中,组件是指由Spring容器管理的对象,通常被称为Bean。这些Bean可以是服务、控制器、数据访问对象等,Spring负责它们的创建、配置和生命周期管理。
    在这里插入图片描述

  • 组件管理是Spring的核心功能之一,主要通过IoC(控制反转) 实现。IoC容器负责管理对象的创建和它们之间的依赖关系,这使得应用程序的各个部分之间的耦合度降低,从而提高了可维护性和可测试性。

组件一定是对象,对象不一定是组件

  1. 组件是对象

    • 在Spring框架中,组件(通常称为Bean)是通过Spring IoC容器管理的对象。它们的创建、配置和生命周期管理都是由Spring负责。
  2. 对象不一定是组件

    • 在Java中,任何通过new关键字创建的实例都是对象,但这些对象并不一定由Spring容器管理。如果一个对象没有被Spring管理,就不能享受Spring提供的特性,比如依赖注入、生命周期管理等。
  3. 可复用的Java对象

    • 组件通常被设计为可以在不同的上下文中重复使用。因为它们遵循了良好的设计原则,比如单一职责原则和依赖注入,它们的逻辑可以在不同的场景中使用,而不需要进行大量修改。

复杂容器概念引入

  1. 复杂容器指的是具有多个层次和功能的容器,能够管理和控制多个组件的生命周期、配置和交互。Tomcat不仅负责Servlet的执行,还处理了许多其他功能,如请求处理、线程管理、会话管理等。
  2. Spring IoC 容器,负责实例化、配置和组装 bean(组件)。容器通过读取配置元数据来获取有关要实例化、配置和组装组件的指令。配置元数据以 XML、Java 注解或 Java 代码形式表现。它允许表达组成应用程序的组件以及这些组件之间丰富的相互依赖关系。

IoC容器接口介绍

Spring IoC容器主要通过两个接口来实现:BeanFactoryApplicationContext。它们都负责管理Bean,但有一些关键的区别和扩展功能。

特性BeanFactoryApplicationContext
定义Spring IoC容器的基本接口BeanFactory的子接口,提供更丰富的功能
实例化方式延迟初始化,仅在需要时创建Bean预实例化,在启动时创建所有单例Bean
国际化支持支持多种语言和地区的国际化功能
事件传播支持事件发布和监听机制,允许组件间的通信
AOP支持提供面向切面编程的支持
适用场景轻量级应用,资源使用要求较高的场景复杂应用,特别是需要更多功能的企业级应用

ApplicationContext容器实现类

上下文类型功能描述加载方式说明
ClassPathXmlApplicationContext从类路径加载XML配置文件,适用于在类路径下有配置文件的应用,通常用于标准的Java SE应用。从classpath根目录加载配置文件,通常是项目的类路径下的resources
FileSystemXmlApplicationContext从文件系统加载XML配置文件,适用于需要从任意路径加载配置文件的场景,能够处理绝对或相对路径。直接从文件系统读取配置文件,可以使用绝对路径或相对路径。
AnnotationConfigApplicationContext以Java注解方式加载配置,适合使用注解定义Bean和依赖关系的应用,支持使用@Configuration@Component注解。通过扫描指定包或类,解析注解以注册Bean。
WebApplicationContext特殊类型的ApplicationContext,用于Web应用,提供额外的功能,如处理Web层的Bean、会话管理等,支持多种Web功能。通常在Web应用中由ContextLoaderListenerDispatcherServlet加载,支持XML和注解配置。

配置方式

Spring框架提供了多种配置方式:XML配置方式、注解方式和Java配置类方式

特点XML配置Java配置注解配置
配置形式使用XML文件定义Bean使用带有@Configuration注解的类定义Bean使用类上的注解(如@Component等)自动扫描
类型安全
可读性可读性一般,依赖于XML格式可读性好,遵循Java语法可读性好,直接在类上定义
灵活性灵活,但修改后需重启应用灵活,支持Java编程中的逻辑灵活,支持灵活的包扫描
示例<bean id="myBean" class="com.example.MyClass"/>@Bean public MyClass myBean() {...}@Component public class MyClass {...}
依赖注入方式通过<property><constructor-arg>标签通过方法参数和返回值通过构造函数、字段或方法
启动方式需要手动指定XML文件通过Java类自动加载配置通过@ComponentScan自动扫描

容器、IoC、DI

在这里插入图片描述

3、SpringIoC实践与应用

实现步骤

  1. 配置元数据,此处以XML为例
  • Spring IoC 容器管理一个或多个组件。这些组件是使用你提供给容器的配置元数据(例如,以 XML <bean/> 定义的形式)创建的。

  • <bean /> 标签 == 组件信息声明

    • id 属性是标识单个 Bean 定义的字符串。
    • class 属性定义 Bean 的类型并使用完全限定的类名。
<?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/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="..." [1] class="..." [2]>  <!-- collaborators and configuration for this bean go here --></bean><bean id="..." class="..."><!-- collaborators and configuration for this bean go here --></bean><!-- more bean definitions go here -->
</beans>
  1. 实例化IoC容器
  • 提供给 ApplicationContext 构造函数的位置路径是资源字符串地址,允许容器从各种外部资源(如本地文件系统、Java CLASSPATH 等)加载配置元数据。
  • 选择一个合适的容器实现类,进行IoC容器的实例化工作:此处以ClassPathXmlApplicationContext为例
//实例化ioc容器,读取外部配置文件,最终会在容器内进行ioc和di动作
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
  1. 获取Bean(组件)
  • ApplicationContext 是一个高级工厂的接口,能够维护不同 bean 及其依赖项的注册表。通过使用方法 T getBean(String name, Class<T> requiredType) ,可以检索 bean 的实例。允许读取 Bean 定义并访问它们,如以下示例所示:
//创建ioc容器对象,指定配置文件,ioc也开始实例组件对象
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
//获取ioc容器的组件对象
PetStoreService service = context.getBean("petStore", PetStoreService.class);
//使用组件对象
List<String> userList = service.getUsernameList();
http://www.yayakq.cn/news/425215/

相关文章:

  • 帮人做网站犯法什么类型的网站开发比较困难
  • php婚庆网站源码网站开发的心得与体会
  • 那里做网站好专业企业网站建设多少钱服务
  • 做h5动画的素材网站html5手机网站返回顶部
  • 辽宁网站建设多少钱建筑产业大数据综合服务平台
  • 彩妆网站模板一个服务器可以做多个网站吗
  • 重庆做网站及公众号公司建设银行车贷网站
  • 南通网站建设方案外包建设一个网站项目预算
  • 搞个网站需要多少钱电子商务网站的功能分析
  • 广州建设网站怎么做哈尔滨seo网络推广
  • 网站平台专业开发制作appwordpress 字段
  • 网站体验步骤设计说明是什么意思
  • dell公司网站建设的特点网络公司怎么挣钱的
  • 一个网站不兼容ie怎么做郑州做网站擎天
  • 成都 高端网站建设免费做微网站
  • 建一个设计网站要多少钱手机端下载
  • 广东门户网站建设太平洋电脑配置报价官网
  • 外贸网站的作用有哪些网站描述怎么设置
  • 网站建设 有必要吗小程序制作教程零基础入门
  • pc网站开发成app难度简述网站开发步骤
  • 莱州网站定制苏州妙笔网络科技有限公司
  • 网站菜单设置自适应的网站模板
  • 网站制作需要什么资料设计北京
  • 网站开发与维护专业前景现在做网络推广网站建设怎么样
  • 云阿里云做网站ui设计主要包括什么
  • 淮海中路街道网站建设自己做网站好做么
  • 孝感网站开发的公司电话怎样建设个自己的网站首页
  • 三门峡做网站公司凡科做的网站行不行
  • 中山市两学一做网站小型crm系统
  • 腾讯企点怎么登录seo服务内容