• spring5(一):概述




    前言

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
    也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!

    Spring5 框架概述

    1、简述

    1.1 简述Spring

    ⭕ Spring 是轻量级的开源的 JavaEE 框架
    ⭕ Spring 可以解决企业应用开发的复杂性
    ⭕ Spring有两个核心部分:IOC 和 Aop

    1. IOC:控制反转,把创建对象过程交给 Spring 进行管理
    2. Aop:面向切面,不修改源代码进行功能增强

    1.2 Spring特点

    轻量级 ​
    从大小与开销两方面而言Spring都是轻量级的。完整的Spring框架可以只有在一个大小只有1M多的JPA文件里发布,并且Spring所以要的处理开销也是微不足道的。

    控制反转 ​
    Spring通过控制反转IOC技术来降低程序间的耦合。当应用了IOC,一个对象依赖的其它对象都会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象。

    面向切面 ​
    Spring支持面向切面编程,并把应用业务逻辑和系统服务分开。

    容器 ​
    Spring使用容器包含并管理应用对象的配置和声明周期,你可以配置你的每一个bean如何被创建----基于一个可配置原型,你的bean可以创建一个单独的实例或者每次需要时都创建一个新的实例。

    框架 ​
    Spring可以将简单的组件配置、组合成复杂得应用。在Spring中,应用对象声明式的组合,典型的是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等),将应用逻辑的的开发留给开发者。

    1.3 Spring的优势

    方便解耦,简化开发 ​
    通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring容器进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

    AOP 编程支持 ​
    通过 Spring 的 AOP 功能,方便进行面向切面的编程。

    方便进行事务操作 ​
    可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。

    方便程序的测试 ​
    可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。

    方便和其他框架进行整合 ​
    Spring 可以降低各种框架的使用难度,提供了对各种优秀框架( Struts、 Hibernate、Hessian、 Quartz等)的直接支持。

    低 API 开发难度

    2、入门案例

    2.1 下载Spring5

    (1)查看Spring最新版本步骤
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    (2)下载地址
    点击跳转下载导航

    2.2 打开 idea 工具,创建普通 Java 工程

    在这里插入图片描述

    2.3 导入 Spring5 相关 jar 包

    在这里插入图片描述
    导入以下jar包:
    在这里插入图片描述

    2.4 创建普通类,在这个类创建普通方法

    public class Person {
        
        public void eat(){    
            System.out.println("吃东西!");}
            
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.5 创建 Spring 配置文件,在配置文件配置创建的对象

    (1)Spring 配置文件使用 xml 格式
    在这里插入图片描述
    在这里插入图片描述
    (2)编写配置文件

    
    <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="person_ir" class="com.ir.spring5.Person">bean>
    
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意:

    在配置文件中的"bean"标签里,id可以随便取,class为对应的类的全路径。

    2.6 进行测试代码编写

    package com.ir.spring5;
    
    import javafx.application.Application;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class test {
        @Test
        public void testEat(){
            //1.加载spring配置文件
            ApplicationContext context = new ClassPathXmlApplicationContext("person1.xml");
            //2. 获取配置创建的对象
            Person person = context.getBean("person_ir",Person.class);
            //3. 测试
            System.out.println(person);//com.ir.spring5.Person@436e852b
            person.eat();//吃东西!
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    注意:

    ClassPathXmlApplicationContext():顾名思义,ClassPath寻找类的路径,但此路径是相对于src下的路径,如果配置文件不是直接创建在src下的,则需要写清楚路径。

  • 相关阅读:
    Py之trl:trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略
    服务熔断&服务降级
    面试Java高级工程师之应用框架总结
    Vue element-ui表格嵌进度条
    ASDIP Foundation简单的图形环境
    linux api官网
    读论文(人真皮成纤维细胞受紫外线辐射引起基因表达动态变化)
    【教3妹学算法】144. 二叉树的前序遍历
    企业自研业务系统的登录如何添加动态口令,实施MFA双因子认证?
    MyBatisPlus实现分页和查询操作就这么简单
  • 原文地址:https://blog.csdn.net/weixin_52533007/article/details/125710893