1、Spring初识

时间:2021-10-07
本文章向大家介绍1、Spring初识,主要包括1、Spring初识使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、Spring是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的 JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。 Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。 Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)面向切面编程(aspect-oriented programming, AOP)

2、核心内容

  spring是一个轻量级的开源框架。

  spring为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。spring是一个IOC和AOP的容器框架。

    IOC:控制反转

    AOP:面向切面编程

    容器:包含并管理应用对象的生命周期

3、使用spring的优点

  3.1、Spring通过DI、AOP和消除样板式代码来简化企业级Java开发

  3.2、Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它 将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL

  3.3、低侵入式设计,代码的污染极低

  3.4、独立于各种应用服务器,基于Spring框架的应用,可以真正实现 Write Once,Run Anywhere的承诺

  3.5、Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦

  3.6、Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行 集中式处理,从而提供了更好的复用

  3.7、Spring的ORM和DAO提供了与第三方持久层框架的的良好整合, 并简化了底层的数据库访问

  3.8、Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可 自由选用Spring框架的部分或全部

  3.9、任何一个语言或者任何一个框架想要立于不败之地,那么很重要的 就是它的生态。

4、spring的模块划分图

   Data Access/Integration:数据的获取/整合模块,包括了JDBC,ORM,OXM,JMS和事务模块

   Web:提供面向web整合特性

5、IOC(Inversion of Control):控制反转

  5.1、基本概念

  IOC是一种设计思想,在Java开发中,将你设计好的对象交给容器控制,而不是显示地用代 码进行对象的创建。(创建对象交给spring来处理,不用 new Object()等等来操作了)

  把创建和查找依赖对象的控制权交给 IoC 容器,由 IoC 容器进行注入、组合对象之间的关 系。这样对象与对象之间是松耦合、功能可复用(减少对象的创建和内存消耗),使得程序 的整个体系结构可维护性、灵活性、扩展性变高。 所谓IOC ,就简短一句话:对象由 spring来创建、管理,装配!

  5.2、为什么使用IOC?

    5.2.1 接口分离原则ISP(the Interface Segregation Principle ISP)

    模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来

    5.2.2 依赖倒置原则DIP(the Dependency Inversion Principle DIP)

    具体实现依赖抽象,下层依赖上层。 依赖倒置原则使鼠标、键盘和电脑成为独立的的互不相干的对象,当电脑(上 层)没有鼠标可以正常启动但是鼠标(下层)没有电脑则一无是处 ,控制权就被反转                        了(IOC)。 所以鼠标需要依赖USB(DI)才能使用。

    之前——正转: 主板­­­焊接­­­>鼠标 电脑没有鼠标则无法启动

    现在——反转: 电脑<­­­依赖­­­鼠标 引入DI可以实现IOC

    IOC是DIP的设计原理,DI是IOC的具体实现

  5.3 如何使用 IOC?

    5.3.1 导入jar包---配置xml

      a、导入相关的jar包

      

       b、配置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.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="user" class="com.zhl.entity.User"></bean>
</beans>

     c、编写测试类

public class IocTest {
    @Test
    public void test(){
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-ioc.xml");
        User user = context.getBean(User.class);
    }
}

    5.3.2 maven+注解+xml

      a、配置maven依赖

      

      b. 去pom.xml

      

  

  

原文地址:https://www.cnblogs.com/zhl--yeyan/p/15375608.html