• ssm框架之spring:了解以及初体验


    现在开始聊一下spring这个框架吧,现在以前国内ssh比较流行现在是ssm,不过无论那个框架组合,其不会离开其中一个组成部分spring。

    简介

    现在看一下百度对spring的解释:

    Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。

    Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。

    Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用。

    Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

    在这里插入图片描述

    其实上面说了这样多,其实简单的总结如下:

    • Spring是一个轻量级的框架,就是用于开发企业级(B/S)应用的技术。
    • Spring 有两个核心IOC和AOP。
      • IOC: Inversion of Control翻译的话就是控制反转,可以用来减低计算机代码之间的耦合度,把创建的对象过程交给Spring进行管理。
      • AOP:Aspect Oriented Programming翻译的话就是面向切换,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。简单的说就是不修改代码进行功能增加。

    当然使用spring自然有其优点,不然也不会开发这个框架,而所有的人都去学习。但是理论的东西你不说还不是那回事,所以先聊一下其优点(不过还是老规矩,直接黏贴复制一下了):

    • 非侵入式设计

      Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

    • 方便解耦、简化开发

    Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大地降低了组件之间的耦合性。

    • 支持AOP

      Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。

    • 支持声明式事务处理

      只需要通过配置就可以完成对事务的管理,而无需手动编程。

    • 方便程序的测试

      Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。

    • 方便集成各种优秀框架

      Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。

    • 降低Java EE API的使用难度

      Spring对Java EE开发中非常难用的一些API(如:JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

    还是老规矩,对于代码或者框架,如果单独看理论说实话谁都懵逼,不过首先要做一件事情,那就是搭建环境。

    搭建环境

    下载spring的jar包地址:https://repo.spring.io/ui/native/release/org/springframework/spring/ 可以下载所需要的版本。

    然后解压后再libs中查看jar包

    在这里插入图片描述

    不过初体验的话,不用导入所有的jar包,导入核心基础几个即可,不过这个也需要一个log日志jar。所以导入的jar包如下:

    在这里插入图片描述

    其实可以看到其对应着spring结构图中的这四部分:

    在这里插入图片描述

    而且你导入上面的jar包之后,在ide中创建xml文件的时候会有一个提示如下:

    在这里插入图片描述

    创建spring配置文件。

    然后创建文件如下:

    
    <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" class="com.xzd.test.Person">bean>
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Person类如下:

    public class Person {
        public  void eat(){
        System.out.println("中餐才是最好的");
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    test方法:

    因为spring是一个javaweb中常用的框架,一般不会创建main方法,进行测试而是使用@Test注释调用,如果没有导入junit 的jar包会报错,可以先写好@Test,然后使用快捷键Alt+Enter,如下:

    在这里插入图片描述

    选择自己需要的版本junit即可,然后如下test类:

    public class test {
         @Test
         public void testmethod(){
    //       首先加载配置文件: 配置文件创建在 src路径下
              ApplicationContext applicationContext=   new ClassPathXmlApplicationContext("personbean.xml");
    //      创建对象   这个对应的是xml中 bean标签中的id
            Person person= (Person) applicationContext.getBean("person");
             //        如果不想强转也可以如下写:   Person  person = applicationContext.getBean("person", Person.class);
            person.eat();
         }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行后可以完全输出:

    在这里插入图片描述

    这个只是简单的演示,下一篇开始具体聊一些原理,以及更详细的用法,本篇感受一下spring的魅力即可。

  • 相关阅读:
    初识Node.js开发
    New PMC 田原: 开源给了我一个接触非业务系统的机会
    这份华为以太网接口配置命令太真香了!
    memcpy内存拷贝函数
    (高阶) Redis 7 第18讲 RedLock 分布式锁
    【大语言模型LLM】-基础语言模型和指令微调的语言模型
    FileInputStream文件字节输入流
    Synchronized底层核心原理
    Java基础面试题精选:深入探讨哈希表、链表和接口等
    ufw配置:外网ip禁止访问配置
  • 原文地址:https://blog.csdn.net/u011863822/article/details/126589334