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

初始Spring框架

初识Spring

spring介绍

核心理念:IoC(控制反转)、AOP(面向切面的编程)

  1. 表现层:web层提供了一个优秀的springMVC框架
  2. 业务逻辑层:通过AOP无入侵情况下对业务层进行增强,eg 管理事务、记录日志。
  3. DAO层(持久层):整合MYBatis

Spring框架的优点

  1. 可以直接通过Spring文件配置文件管理数据库事务。
  2. 方便测试,支持junit单元测试
  3. 方便集成其他框架(AOP),eg Struts、Hibernate
  4. 降低了JavaEE的API使用难度

Spring体系结构

  1. Bean:对象的管理和创建。
  2. Core:基础核心。
  3. Context:上下文。
  4. SpEL:Spring提供的表达式。

从下往上学,学习灰色部分

Spring新特性

  1. 简化了异常操作。
  2. 支持响应式编程
  3. 支持函数式web框架
  4. 支持Kotlin语言
  5. 提升测试功能

Spring的下载及目录结构

  1. spring-5.2.8.RELEASE-dist.zip

Spring入门程序

  1. 创建一个maven工程,在其中引入相关的依赖包(课本)
  2. 创建一个类,在目录src/main/java下创建包,eg package com.ncwu
  3. 在包下创建HelloSpring类,类下要声明属性以及属性对应的set方法
package com.ncwu;
public class HelloSpring{private String userName;public void setUserName (String userName){this.userName=userName;}}
  1. 目录src/main/resources下创建applicationContext.xml作为HelloSpringl类的配置文件,并在配置文件里创建Bean(对象)
<bean id="hellospring" class="com.ncwu.HelloSpring">

​ id是唯一标识,class指向com.ncwu.HelloSpring

​ spring帮助创建类的对象,唯一标识

<property name="userName" value="张"></property>

​ 为userName赋值iii

  1. Spring帮助文档获取约束信息(用AI更快,idea有模板)
  • 第一步:pom.xml里相关的依赖,引入一个依靠maven以来传递引出所有的。
  • 第二步:创建类,提供属性以及属性的set方法
  • 第三步:编写Spring的核心配置,头部信息复制,配置Bean
  • 第四步:在测试类里进行单元测试

Spring的控制反转和依赖注入(IoC)

控制反转(Inversion of Controi):是面向对象编程中的一个设计原则,用来降低程序代码之间的耦合度。在传统的面向对象的编程里,获取对象的方式是用new关键字主动创建一个对象,也就是应用程序掌握着对象的控制权

Ioc控制反转机制指的是对象由IoC容器统一管理,当程序需要使用对象时,可以直接从容器中获取,这样对象的控制权就从应用程序转移到了IoC容器。

依赖注入(Dependency Inject)

依赖注入就是有IoC容器在运行期间动态的将某种以来注入到对象中,例如将对象B注入(赋值)给对象A的成员变量。依赖注入的基本思想时明确定义组件接口,独立开发各个组件,然后根据组件依赖关系组装运行。

​ **依赖注入和控制反转从不同角度描述了同一件事。依赖注入是从应用程序角度描述,即应用程序依赖IoC容器创建并注入他所需的外部资源;而控制反转是从IoC容器角度描述,即IoC容器控制应用程序,由IoC反向的向应用程序注入应用程序所需要的外部资源(可以是外部实例对象也可以是外部文件对象) **

//获取Spring容器
ApplicationContext ac =new ClassPathXmlApplicationContext("applicationContext.xml");
//从容器中获取对象
HelloSpring helloSSpring =(HelloSpring)ac.getBean("helloSpring");
//调用对象的方法
helloSpring.show();

依赖注入的类型

实现方法

​ 依赖注入的作用就是在使用Spring框架创建对象时动态的把其多以来的对象注入到Bean组件中,依赖注入通常有两种方法:构造方法注入,属性setter方法注入

构造方法注入

Spring读取配置信息后,或通过反射方式调用实例的构造f方法,如果是有参的构造方法可以在构造方法里传入所需的参数值,最后创建类对象并赋值

<bean id="user1" class="com.ncwu.User1"><construcror-arg name="id" value="1">//arg表示参数</constructor-arg><construcror-arg name="name" value="王五"></constructor-arg>  <construcror-arg name="password" value="1234"></constructor-arg>

一个元素标识构造方法的一个参数,且定义不区分顺序,只需要通过元素的name属性指定参数即可。元素还提供了types属性类指定参数的类型,避免字符串和基本数据类型混淆

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext-User.xml");
//加载applicationContext.xml配置
User1 user1=applicationContext.getBean("user1","User1.class");
//获取配置中的User1实例

确定参数

name属性:通过参数的名字来确定参数

type属性:通过参数的类型来确定参数

index属性:通过参数的索引来确定参数

给属性赋值的

value:用来给基本类型赋值

ref:用来给引用型类型赋值

setter方法

<bean id ="user2" class="com.ncwu.User2">
http://www.jsqmd.com/news/51660/

相关文章:

  • 2025年不锈钢水垢清洁剂制造厂权威推荐榜单:水龙头除垢剂/不锈钢清洁剂/厨房重油污清洁剂源头厂家精选
  • 2025年旋挖钻机全套管供货厂家权威推荐榜单:全回转全套管‌/旋挖全套管‌/搓管机全套管源头厂家精选
  • 2025 年 11 月精益生产咨询公司权威推荐榜:专业流程优化与智能制造解决方案口碑之选
  • 权威实测背书!2025年11月高性价比家具品牌放心选
  • 2025 最新压滤机定制厂家权威排行榜 创新工艺 + 定制方案深度解析 国际协会认证推荐真空 / 板框 / 带式 / 污泥脱水 / 气化渣脱水专用 / 污泥专用脱水压滤机公司推荐
  • qt 获取一个Widget内的一个控件的值
  • 2025年杭州全网营销公司权威推荐榜单:网络营销‌/全网推广‌/线上推广源头公司精选
  • 2025 年 11 月供应链管理咨询服务权威推荐榜:高效协同与降本增效的智慧解决方案,助力企业优化全链路运营
  • 【JPCS出版 | 连续多年EI稳定检索】第九届力学、数学与应用物理学国际学术会议(ICMMAP 2025)
  • 2025年矿用氧气呼吸器实力厂家权威推荐:hyz4氧气呼吸器/舱式氧气呼吸器/正压呼吸器氧气瓶源头厂家精选
  • 私有文章
  • 2025 年 11 月降本增效咨询服务公司权威推荐榜:专业策略与实战案例深度解析,助力企业运营优化与成本控制
  • 题解:B4374 [GXPC-S 2025] 花 / flower
  • 2025 年 11 月企业管理咨询公司品牌权威推荐榜:战略规划、组织优化与数字化转型领域的专业服务口碑之选
  • pytest 5 种核心测试场景的 极简示例
  • 2025 年恒温恒湿系统厂家最新推荐榜:技术实力与市场口碑深度解析,覆盖多行业适配需求实验室恒温恒湿系统/车间恒温恒湿系统/仓库恒温恒湿系统/厂房恒温恒湿系统/空调恒温恒湿系统公司推荐
  • 2025年11月道闸厂家排行详解:技术实力与市场表现的双重考量
  • 2025 年 11 月国内十大咨询公司权威推荐榜:战略规划、管理优化与数字化转型顶尖服务深度解析
  • 2025年11月孩子学人工智能哪家好?靠谱机构推荐及选择指南
  • flask: 获取接收到的所有post参数
  • 2025年11月合肥刑事律师推荐榜单:专业律师综合对比与选择指南
  • 2025年薪酬绩效管理咨询公司权威推荐榜:战略激励体系设计与数字化落地解决方案全景解析
  • 2025年11月山姆好吃食品推荐榜:五款热门零食综合对比与选购
  • 2025年11月杜甫研究学者专家排名榜:基于多维度的客观评测
  • 2025年11月杭州数字人公司推荐榜:专业对比与权威评测分析
  • 2025 年铝艺门厂家最新推荐榜,技术创新与品质服务双驱动的优质品牌深度解析铝艺大门/铸铝门公司推荐
  • 2025 最新 墨水厂家推荐排行榜:覆盖通用 / 填充 / 3D 打印等场景,ISO 参会企业领衔品质之选002 墨水/通用墨水/填充墨水公司推荐
  • 2025年优质的PPH储罐厂家最新排行推荐及选购指南
  • 2025 年 11 月企业运营管理咨询公司 TOP10 权威推荐榜:战略规划、流程优化与组织效能提升的顶尖智囊深度解析
  • PySpark - dropping non-existed column doesnt cause an error