Spring-简介

这篇具有很好参考价值的文章主要介绍了Spring-简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概念

在向读者描述Spring时,笔者不打算从某处粘贴一段常见的概念性文字糊弄完本专栏的第一篇文章,而是用易于理解的话向读者指出几个重点。

(1)是框架。何谓框架?就像搭房子一样,框架就如同是墙体结构,房地产开发商将墙体结构给客户搭建好了,至于细节的装修,比如刷什么颜色的漆,选用什么样的家具、什么颜色的灯光等等这些都将交由客户自己完成。Spring类似于此,它简化了Java程序员“搭建一套房子”的工作。Java程序员只需要引入这样一个框架,然后做一些“装修”的工作,就能快速地对外提供服务了。至此,我们再次阅读Spring官网的第一段话,是不是更能明白Spring框架出现的意义呢?一句话总结:简化了应用开发。

Spring-简介,spring,java

(2)Spring的优势是?我们在此仅仅先用一句话分别介绍几个优势,要深刻地理解,还需要后续持续的学习。

1、解耦:IoC通过依赖注入等方式,将对象的依赖关系从硬编码中解耦出来,降低了代码的耦合度,使得代码更加灵活和可维护。IoC,Inversion of Control,控制反转。所谓控制,即创建对象的控制权,所谓反转,指过去创建对象的控制是由开发者自己掌握的,现在则交给了Spring框架。

2、AOP:Aspect-Oriented Programming,面向切面编程。弥补了OOP的缺陷。

3、声明式事务:是否还记得我们使用JDBC时如何进行事务控制呢?我们需要通过Connection对象来setAutocommit为false,表示事务打开,再根据执行结果来进行commit或rollback。显然这个操作太繁琐了,那么期待Spring是如何优雅地解决这一问题吧。

4、集成了其它优秀的框架:如SpringMVC,MyBatis等,集成了其它框架的能力会让我们的工作更加省心。

5、降低JavaEE API的使用难度:例如JDBC的使用,我们的通用操作是注册驱动,获取连接,获取执行SQL对象等,执行SQL,处理查询结果等。而在Spring框架中,则集成了许多模板工具,如JDBCTemplate,针对Redis提供了RedisTemplate类。

二、快速使用

既然上面提到Spring框架是如此的便捷,那么我们现在来快速上手一下Spring吧。

(1)引入Spring上下文依赖spring-context,junit用于测试

        <!--基于Maven依赖传递性,导入spring-context依赖即可导入当前所需所有jar包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.1</version>
        </dependency>
        <!--junit测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

(2)定义一个类,并提供一个方法

public class HelloWorld {

    public void sayHello() {
        System.out.println("hello, spring");
    }
}

(3)定义配置文件,将第(2)步的类加入到Spring容器中

<?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:将对象交给IOC容器来管理
        id:bean的唯一标识,不能重复
        class:设置bean对象所对应的类型
    -->
    <bean id="hello-world" class="com.bylearning.spring.pojo.HelloWorld" />
</beans>

(4)我们在测试类中看看效果

import com.bylearning.spring.pojo.HelloWorld;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloWorldTest {

    @Test
    public void test() {
        // 获取IOC容器
        ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 获取IOC容器中的bean
        HelloWorld helloworld = (HelloWorld)ioc.getBean("hello-world");
        HelloWorld helloworld1 = (HelloWorld)ioc.getBean("hello-world");
        System.out.println(helloworld);
        System.out.println(helloworld1); // 两个地址相同,验证Spring容器创建对象默认是单例模式
        helloworld.sayHello();
    }
}

至此,我们就完成了Spring的初探:将对象交给Spring容器来管理,并通过getBean方法向容器索要一个对象。

注意到获取IoC容器时,我们使用了new ClassPathXmlApplication(String xmlFileName)方法,这个方法顾名思义,会读取在类路径下一个xml文件,我们在后面的章节中会更详细地阐述。以及getBean(String beanId)方法,还有通过类获取Bean的方法,我们也在后面介绍。在这里大家仅需快速了解Spring的基本使用即可。

我们多说几句Spring创建对象的逻辑是:Spring框架通过读取xml文件,根据id标识获得了Bean的全限定名,通过反射创建出Bean对象并返回对象。

了解完这些,我们似乎对Spring有了些模糊的认识,接下来让我们走近Spring,首先来了解一下Spring的配置文件。文章来源地址https://www.toymoban.com/news/detail-814867.html

到了这里,关于Spring-简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud 简介

    ​ Spring Cloud作为Java语言的微服务框架,它依赖于SpringBoot,有快速开发、持续交付和容易部署等特点 。SpringCloud的组件非常多,涉及微服务的方方面面,在开源社区Spring和Netflix、Pivotal两大公司的推动下越来越完善。 ​ 微服务可拆分为 “微” 和 “服务” 两个。“微” 即小

    2023年04月08日
    浏览(31)
  • Spring-简介

    一、概念 在向读者描述Spring时,笔者不打算从某处粘贴一段常见的概念性文字糊弄完本专栏的第一篇文章,而是用易于理解的话向读者指出几个重点。 (1)是框架 。何谓框架?就像搭房子一样,框架就如同是墙体结构,房地产开发商将墙体结构给客户搭建好了,至于细节的

    2024年01月22日
    浏览(28)
  • Spring详解简介

    1、Spring的简介   Spring的英文翻译为春天,可以说是给Java程序员带来了春天,因为它极大的简化了开发。我得出一个公式:Spring = 春天 = Java程序员的春天 = 简化开发。最后的简化开发正是Spring框架带来的最大好处。   Spring是一个开放源代码的设计层面框架,它是于2003 年兴起

    2024年02月01日
    浏览(24)
  • Spring框架简介

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年02月09日
    浏览(46)
  • Spring 简介

    Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用Spring Framework创建高性能、易于测试和可重用的代码。 Spring Framework是一个开源的Java平台。它最初由Rod Johnson编写,并于2003年6月在Apache 2.0许可下首次发布。 Spring在大小和透明度方面都非

    2024年02月13日
    浏览(31)
  • 【Spring教程21】Spring框架实战:Spring事务简介、AOP事务管理、代码示例全面详解

    欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》,本文的上一篇为《AOP(面对切面编程)知识总结》 事务作用:在数据层保障一系列的数据库

    2024年02月04日
    浏览(44)
  • Spring5深入浅出篇:Spring与工厂设计模式简介

    轻量级 JavaEE的解决⽅案 spring实际上就是对原有设计模式的一种高度封装和整合 整合设计模式 工厂设计模式 什么是工厂设计模式 当UserServiceImpl发生变化是会影响到userService等相关联的类,在线上环境不利于维护

    2024年01月18日
    浏览(55)
  • Spring Data ElasticSearch简介

    Spring Data是⼀个⽤于简化数据库访问,并⽀持云服务的开源框架。其主要⽬标是使得对数据的访问变 得⽅便快捷,并⽀持map-reduce框架和云计算数据服务。 Spring Data可以极⼤的简化JPA的写法,可 以在⼏乎不⽤写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分

    2023年04月19日
    浏览(43)
  • day1 Spring简介

    2024年02月15日
    浏览(28)
  • Spring事务简介及相关案例

    目录   一、事务简介 二、准备数据库 三、创建maven项目,引入依赖和完成相关配置 1. pom.xml文件 2. 创建配置文件 四、编写Java代码 1. Account实体类 2. AccountDao接口 3. AccountService业务类  五、测试 1. 测试方法 2. 测试结果​编辑 往期专栏文章相关导读  1. Maven系列专栏文章 2. M

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包