当前位置: 首页 > news >正文

Spring框架学习(上)

1. Spring框架初识

平常在我们写代码的时候,我们一般是通过new的方式创建对象,例如:

//创建Student对象

Student stu = new Student();

 这种方式需要我们手动的去创建对象,如果代码量一多,就需要重复创建对象,例如:

1.、创建Student类

public class Student {private String name;private int age;public void aaa(){System.out.println(name+age);}

2、编写业务逻辑层

public class StudentService {//业务逻辑层//添加学生public void addStudent(String name, int age){Student student = new Student(name,age);//调用dao层,跳过代码....System.out.println("成功添加学生:"+student);}
}

 

想象一下,当代码量有十多万行时,用new方式会产生大量的代码冗余。那么我们该怎么用减少代码耦合性呢?

所以就有了spring框架,spring框架是将创建对象的权利,交给了第三方容器管理,即spring容器。spring容器在第一次创建对象后,会继续保留对象,再下一次调用的时候,提供所需的对象

简单来说就是如下图:

1.2 Spring框架的特点总结

1. 方便解耦,简化开发

Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。

2. 方便集成各种优秀框架

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

3. 降低 Java EE API 的使用难度

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

4. 方便程序的测试

Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。

5. AOP 编程的支持

Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。

6. 声明式事务的支持

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

2. Spring的实现

1、创建Maven工程

2、 导入依赖

1、首先在Maven中央仓库官网里查找,这里是官网地址:Maven 存储库:搜索/浏览/探索

 2、选择与自己项目配置的jdk版本对应的依赖版本,并点击版本号:

如果懒得去官网找,并且你的jdk版本也是1.8的,那么可以直接复制我的:

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.9.RELEASE</version>
</dependency>

3、 复制地址

4、然后粘贴进pom.xml文件中的,<dependencies >,如果没有这个标签,在<project》标签下自行创建一个<dependencies>标签,然后刷新Maven:

如果没有小按钮就看第五步。

5、 如果没有跳出Maven的小按摩,则看这里:(有就跳过)

3、 创建bean.xml文件

我的Bean类是Student类,所以我以Student类作为例子:

1、 创建Student类

 2、 在resource包下编写spring.xml

 3、加载spring配置文件

相关文章:

  • 2025年探秘特种设备安全管理 A 证:守护安全的关键凭证​
  • 深度学习-Torch框架-2
  • 【vue项目el-tree跨树批量拖拽】
  • Table类型的表单
  • SSM--容器
  • 从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库
  • 乘用车制动系统设计:保障行车安全的核心技术
  • vue2 element-ui 中 el-radio 单选框点击事件失效问题
  • 士兵乱斗(贪心)
  • 大数吞小数
  • SDL基础
  • MCP理解笔记及deepseek使用MCP案例介绍
  • 探索鸡养殖虚拟仿真实验:科技赋能养殖新体验
  • 重工业数字化转型
  • TAS启动与卸载
  • 单片机 | 基于51单片机的倾角测量系统设计
  • Flow 笔记
  • 什么是cnas认证?认证cnas证书有什么好处?
  • 《基于神经网络实现手写数字分类》
  • 用最简单的方式了解单例模式
  • 董军在第六届联合国维和部长级会议上作大会发言
  • 南京江宁区市监局通报:盒马一批次猕猴桃检出膨大剂超标
  • 杨文庄当选中国人口学会会长,曾任国家卫健委人口家庭司司长
  • 中国海警舰艇编队5月14日在我钓鱼岛领海巡航
  • 2025上海科技节本周六启幕,机器人和科学家同走AI科学红毯
  • 中国一直忽视欧盟经贸问题关切?外交部:事实证明中欧相互成就,共同发展