Spring简介以及搭建

目录

一、简介

1.概述

2.Spring的优势

3.spring的体系结构

二、Spring IOC/DI

1.概念

2.Spring IOC的理解

3.Spring IOC容器

4.Spring DI

三、搭建

1.搭建spring环境步骤(Maven项目)

2.使用spring IOC容器管理JavaBan 


一、简介

1.概述

        Spring框架是一款轻量级、基础架构型的开发框架,核心思想是IOC(控制反转)AOP(面向切面编程),为Java应用程序开发提供组件管理服务,用于组件之间的解耦,以及简化第三方Java EE中间件技术的使用(JMS、任务调度、缓存、ORM框架);

        Spring框架包括:IOC容器、Validation数据校验、AOP面向切面编程、Transactions事务管理、Spring JDBC、Spring MVC框架以及各类第三方JavaEE中间件技术集成。

2.Spring的优势

        1.方便解耦,简化开发

        2.控制反转IOC,面向切面编程AOP

        3.Spring是一个轻量级的框架,可以降低各种框架的使用难度,提供了对各种事务和优秀框架(SpringMVC、Mybatis、Hessian、Quartz 等)的直接支持。

        4.Spring是一个开源免费的框架、容器

3.spring的体系结构

        Spring由7个模块组成,最常用的包括以下5个模块

1.Core:核心模块

 2.Testing:测试模块

3.Data Access:数据访问模块

4.Web Servlet:基于SerlvetdeWeb应用开发

5.Integration:企业系统集成模块(不同系统之间的交互集成)

二、Spring IOC/DI

1.概念

        耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。划分模块的一个准则就是高内聚低耦合。

        耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合

2.Spring IOC的理解

        IOC(控制反转):是Spring框架的核心思想之一,主要用于解耦。IOC是指根据配置文件或注解等方式,将创建对象的控制权转移给Spring框架进行创建bean对象并管理各个bean对象之间的依赖关系,实现解耦。

        控制:指的是对象创建(实例化、管理)的权利;

        反转:控制权交给外部环境(Spring框架、IOC容器)。

3.Spring IOC容器

        IOC容器属于core模块,根据配置文件或注解创建管理Bean,以及根据依赖关系完成bean之间的注入,默认使用单例的方式将bean存储在一个ConcurrentHashMap类型的Map集合,key是bean对象的ID,value是bean对象本身。

4.Spring DI

        DI(依赖注入):是指程序在程序在运行时,每一个Bean对象都依赖IOC容器注入当前bean对象所需要的另一个bean对象。

三、搭建

1.搭建spring环境步骤(Maven项目)

 1.坐标

        在pom.xml中输入spring-context坐标:

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.26</version>
        </dependency>
    </dependencies>


2.配置文件

        在resources资源文件中创建spring config的xml文件

2.使用spring IOC容器管理JavaBan 

1.创建JavaBean

2.将类注入spring容器

        配置语法:<bean id="唯一标识" class="类的完全限定名称"></bean>

3.测试

    3.1加载spring主配置文件获取核心对象

    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans,xml");

    3.2spring以解耦的方式进行对象的实例化返回用户

    applicationContext.getBean("id");

关键字:

        ClassPathXmlApplicationContext==通过文件的相对路径获取核心对象(实现类)

        FileSystemXmlApplicationContext==通过文件的绝对路径获取核心对象(实现类)

        AnnotationConfigApplicationContext==通过加载配置类获取核心对象(实现类)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sorenw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值