Spring框架的介绍以及搭建

article/2025/10/27 22:49:08

Spring框架的介绍以及搭建

  • 1、框架和架构
    • 1.1、什么是框架
    • 1.2 架构的发展历程
  • 2、Spring
    • 2.1、Spring框架的优势
  • 3、IOC
    • 3.1、什么是IOC
  • 4、Maven
  • 4、搭建Spring
    • 4.1、基于导入jar包和xml配置
    • 4.2、基于maven和xml配置
      • 4.2.1、本地搭建一个maven
      • 4.2.2、创建一个基于Maven的项目
      • 4.2.3、配置spring.xml
      • 4.2.4、测试类

1、框架和架构

1.1、什么是框架

框架就是一些类和集合的接口,通过这些类和接口完成一系列的程序实现。框架也称为开发中的半成品,可以快速的使我们完成基础业务的开发。
就好比建造一个房子,先搭建地基,再在上面搞一些个性化的设计。

1.2 架构的发展历程

在这里插入图片描述

1、单一应用框架:当网站流量很小时,只需要一个应用,将所有的功能部署在一起,以减少部署成本和节点。此时,我们只需要关注如何简化增删改查工作量的数据访问框架(ORM)是关键。
2、垂直应用框架:当访问量逐渐增大,单一应用增加机器带来的加速效果越来越小时,提高效率的方法之一是将整个应用拆成互不相干的几个应用,以提高效率,此时,用于加速前端页面开发的Web框架(MVC)是关键。
3、分布式服务架构:当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能够快速响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
4、流动计算框架:当服务越来越多,小服务资源的浪费问题逐渐显现,此时需要增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

2、Spring

简介:Spring是一个轻量级的开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他层之间的耦合问题。为开发Java程序提供了全面的基础框架支持,Spring负责基础架构,程序员负责专门的应用开发,不需要关注框架的底层具体实现。
注:Spring最重要的两个核心特性,一个是依赖注入(DI,也叫IOC(控制反转)),一个是面向切面编程(AOP)。

2.1、Spring框架的优势

1、Spring通过提供DI,AOP模板式的样式简化了我们的应用级开发。
2、Spring有一个庞大的生态圈,Spring在web、移动开发、云服务器等都有很好的表现。
3、开发spring时,不需要去强行的实现某个接口,或者继承某个类,是一种低侵入式涉及,代码污染极低(代码和框架没有强耦合的关系)。
4、独立于各种应用服务器,可以实现Write One,Run AnyWhere。
5、spring ioc降低了业务对象替换的复杂性,提高解耦。
6、spring aop可以将一些通用的如安全、事务、日志等可以分离的东西做了一个切面切入,提供了更好的复用性。
7、spring的orm和dao提供了第三方持久层框架的良好整合,并简化了数据库访问。
8、spring的高度可开放性,可以只使用一部分,用到哪部分的框架就使用哪一部分。

3、IOC

3.1、什么是IOC

IOC是一种设计思想,在Java开发中,将你设计好的对象交给容器控制,而不是显示的用代码进行容器的创建。
把创建和查找对象的控制权交给IOC,由IOC容器进行注入、对象组合之间的关系。这样对象与对象之间是松耦合,对象可复用(减少对象的创建和内存消耗),使得程序的整个体系结构可维护性、灵活性、扩展性高。
所谓IOC,就是由Spring来进行对象的创建、管理和装配。

4、Maven

maven简介在这里

4、搭建Spring

4.1、基于导入jar包和xml配置

1、导入响应的jar包

在这里插入图片描述
2、配置xml

<!-- spring.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 class="dao.impl.UserDaoImpl" id="userDao"/><bean class="service.impl.UserServiceImpl" id="userService"><property name="dao" ref="userDao"></property></bean>
</beans>

知识点:

// UserServiceImpl
package service.impl;import dao.IUserDao;
import service.IUserService;public class UserServiceImpl implements IUserService {// 调用数据访问层去查询数据库的数据IUserDao dao;@Overridepublic void getUser() {dao.getUser();}public IUserDao getDao() {return dao;}public void setDao(IUserDao dao) {this.dao = dao;}
}

UserServiceImpl类里面写了dao的get和set方法,相当于是需要在spring中去注入响应的dao实现类。

4.2、基于maven和xml配置

4.2.1、本地搭建一个maven

4.2.2、创建一个基于Maven的项目

1、Idea新建一个基于Maven的Java项目
2、给pom文件引入依赖

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.6.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version><scope>test</scope></dependency>
</dependencies>

4.2.3、配置spring.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 class="cn.ale.beans.User" id="user"></bean>
</beans>

4.2.4、测试类

package test;import cn.ale.beans.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class IocTest {@Testpublic void Test01(){ApplicationContext ioc = new ClassPathXmlApplicationContext("springIoc.xml");User user = ioc.getBean(User.class);System.out.println(user.toString());}
}

http://chatgpt.dhexx.cn/article/SVm9EgTJ.shtml

相关文章

Spring 框架搭建

1 Spring 框架搭建 第一步&#xff1a;新建 Maven 项目、设置项目坐标以及Maven环境&#xff1a; 设置项目的名称和存放的工作空间&#xff1a; 第二步&#xff1a; 调整JDK版本 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEnc…

Spring框架介绍与搭建

文章目录 1. 简介1.1 什么是Spring1.2 为什么用Spring1.3 Spring5的特性 2. Spring框架核心2.1 IOC&#xff08;控制反转&#xff09;2.2 AOP(面向切面编程&#xff09;2.3 Spring 中 bean 的作用域2.4 Spring 中 bean 生命周期 3. Spring快速搭建3.1 官方提供的搭建方式3.2 使…

Spring框架搭建

Spring是一个轻量级的开源的控制反转&#xff08;IOC&#xff09;和面向切面编程&#xff08;AOP&#xff09;的框架&#xff0c;是很多程序员必须学的一个框架&#xff0c;所有我们使用他的第一个步骤就是导入框架&#xff0c;本文使用的是idea导入。 Spring有以下几个优点&am…

Python模块——glob模块详解

本文大纲 glob模块也是Python标准库中一个重要的模块&#xff0c;主要用来查找符合特定规则的目录和文件&#xff0c;并将搜索的到的结果返回到一个列表中。使用这个模块最主要的原因就是&#xff0c;该模块支持几个特殊的正则通配符&#xff0c;用起来贼方便&#xff0c;这个…

python—glob模块函数(搜索目录文件)

目录 glob函数 iglob函数 glob模块函数用于从目录通配符搜索中生成文件列表&#xff0c;可以快速获取一定格式的文件夹或文件路径的列表。glob匹配模式较少&#xff0c;一共有三种通配符&#xff1a;*、?、[]&#xff0c;属于轻量级。路径分隔符(Unix的/&#xff0c;Windows…

pathlib.Path模块下的glob、rglob,glob模块下的glob、iglob

1、导入所需模块 from pathlib2 import Path import glob2 as gb 2、当前所在路径 # D:\02周报 p Path.cwd()3、比较Path模块中的glob(*)、glob(**)、rglob(*)、rglob(**) # from pathlib2 import Path# D:\02周报 # p Path.cwd()type(p.glob(r"*")) print("P…

python中的glob.glob()(包含详细实例)

在网上搜了半天没搜到满意的解释&#xff0c;最终选择去原英文文档里寻找其释义&#xff0c;具体如下&#xff1a; glob.glob(pathname, *, root_dirNone, dir_fdNone, recursiveFalse) 其功能是返回一个与pathname匹配的路径名列表&#xff08;该列表可以为空&#xff0c;必…

python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用

欢迎大家关注笔者&#xff0c;你的关注是我持续更博的最大动力 原创文章&#xff0c;转载告知&#xff0c;盗版必究 python 的标准库模块glob使用教程&#xff0c;主要为glob.glob函数使用与glob.iglob函数使用 文章目录&#xff1a; 1 glob模块介绍2 glob模块的具体使用2.1 查…

glob.glob()

glob.glob()函数 glob.glob()含有的内容非常少&#xff0c;其功能是查找符合特定规则的文件路径。例如&#xff08;F:/Python/Hello&#xff09;。 功能类似于Windows的文件搜索。 查找文件只用到三个匹配符&#xff1a;" “,”?", “[]”。 " "&#x…

glob函数

查找符合自己要求的文件 glob.glob() 返回一个列表&#xff0c;列表里的元素是符合要求的文件名&#xff08;字符串&#xff09; 三个匹配符&#xff1a; ”*”匹配任意0个或多个字符 ”?”匹配任意单个字符 ”[ ]”匹配指定范围内的字符 例子1&#xff1a; glob.glob(&q…

python 中的 glob.glob()

1. glob方法&#xff1a; glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表&#xff08;list&#xff09;&#xff1b; 该方法需要一个参数用来指定匹配的路径字符串&#xff08;字符串可以为绝对路径也可以为相对路径&#xff09;&#xff0c;其返回的文件名只…

python glob函数_Python glob()函数

Python glob()函数&#xff0c;是种文件通配符&#xff0c;非常常用。glob模块提供了函数用于从目录通配符搜索中生成文件列表: Python glob()函数用法 glob()函数可以查找符合自己要求的文件&#xff0c; 支持通配符操作*,**,?,[]这四个通配符&#xff0c; *代表0个或多个字符…

python glob.glob使用

使用了下thrift&#xff0c;出现了一些路径问题。原来是glob.glob函数捣的鬼。所以扒了下英文文档&#xff0c;有些收获。下面分享。 函数功能&#xff1a;匹配所有的符合条件的文件&#xff0c;并将其以list的形式返回。 一.glob.glob的介绍和一些实现细节 1.glob.glob函数的…

glob.glob() 函数

glob模块是最简单的模块之一&#xff0c;内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符&#xff1a;””, “?”, “[]”。””匹配0个或多个字符&#xff1b;”?”匹配单个字符&#xff1b;”[]”匹配指定…

python glob.glob()

glob是python的一个标准库函数&#xff0c;它的作用类似于shell的find&#xff0c;但是只能返回一级目录的查找结果&#xff0c;支持通配符来查找某个目录的文件&#xff0c;找到的文件列表以list格式返回&#xff0c;如果目录不存在或者找到结果为空&#xff0c;则返回一个空列…

glob.glob()函数

glob.glob()函数 glob.glob(pathname, *, recursiveFalse) 功能&#xff1a;返回一个某一种文件夹下面的某一类型文件路径列表 pathname:文件路径 例如&#xff1a; 返回某一文件下面的pdf文件 import glob f glob.glob(H:\\paper_of_remote_sensing\\paper_of_lidar\\*.…

Linux杂谈之Glob文件名模式匹配

一 Glob ① 初识 glob 最早是出现在类Unix系统的命令行中,是用来匹配文件路径的1&#xff09;在最新的 CentOS 7 中已经删除了 glob 的相关描述文档2&#xff09;删除的原因由于 glob 已经整合到了 shell 之中,然后就有了 shell 通配符常见&#xff1a; 涉及glob的相关命令…

Python 中glob.glob()、glob.iglob()的使用

Python 中glob.glob()的使用 glob.glob(path)的功能&#xff1a; 返回符合path格式的所有文件的路径&#xff0c;以list存储返回。 glob.iglob(path)的功能&#xff1a; 返回符合path格式的一个文件的路径。 path的表示方法&#xff1a; 利用匹配符&#xff1a;"* "…

SSM项目小例子,SSM整合图文详细教程

SSM项目小例子 今天来搭建一个SSM项目的小例子简单练一练&#xff0c;那项目模板还是我们那个模板&#xff0c;就是我们在JavaWeb最后的小例子&#xff0c;那到SSM中我们如何实现&#xff0c;后面我们再看看springboot中如何实现 javaweb中项目例子&#xff1a;https://blog.cs…

SSM整合之登录注册

一、概述 本文以一个登录注册的小功能作为示例&#xff0c;对SSM框架做一个整合。 二、SSM整合 SSM框架是指Spring、SpringMVC和Mybatis&#xff0c;SpringMVC是包含在Spring中的&#xff0c;因此SSM框架整合核心是将Mybatis整合到Spring中。 2.1 DAO 1. 创建如下的数据库表格…