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

spring5(一):概述

Spring5 框架概述

  • 前言
  • Spring5 框架概述
    • 1、简述
      • 1.1 简述Spring
      • 1.2 Spring特点
      • 1.3 Spring的优势
    • 2、入门案例
      • 2.1 下载Spring5
      • 2.2 打开 idea 工具,创建普通 Java 工程
      • 2.3 导入 Spring5 相关 jar 包
      • 2.4 创建普通类,在这个类创建普通方法
      • 2.5 创建 Spring 配置文件,在配置文件配置创建的对象
      • 2.6 进行测试代码编写



前言

本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!

Spring5 框架概述

1、简述

1.1 简述Spring

⭕ Spring 是轻量级的开源的 JavaEE 框架
⭕ Spring 可以解决企业应用开发的复杂性
⭕ Spring有两个核心部分:IOC 和 Aop

  1. IOC:控制反转,把创建对象过程交给 Spring 进行管理
  2. Aop:面向切面,不修改源代码进行功能增强

1.2 Spring特点

轻量级 ​
从大小与开销两方面而言Spring都是轻量级的。完整的Spring框架可以只有在一个大小只有1M多的JPA文件里发布,并且Spring所以要的处理开销也是微不足道的。

控制反转 ​
Spring通过控制反转IOC技术来降低程序间的耦合。当应用了IOC,一个对象依赖的其它对象都会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象。

面向切面 ​
Spring支持面向切面编程,并把应用业务逻辑和系统服务分开。

容器 ​
Spring使用容器包含并管理应用对象的配置和声明周期,你可以配置你的每一个bean如何被创建----基于一个可配置原型,你的bean可以创建一个单独的实例或者每次需要时都创建一个新的实例。

框架 ​
Spring可以将简单的组件配置、组合成复杂得应用。在Spring中,应用对象声明式的组合,典型的是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等),将应用逻辑的的开发留给开发者。

1.3 Spring的优势

方便解耦,简化开发 ​
通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring容器进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

AOP 编程支持 ​
通过 Spring 的 AOP 功能,方便进行面向切面的编程。

方便进行事务操作 ​
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。

方便程序的测试 ​
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。

方便和其他框架进行整合 ​
Spring 可以降低各种框架的使用难度,提供了对各种优秀框架( Struts、 Hibernate、Hessian、 Quartz等)的直接支持。

低 API 开发难度

2、入门案例

2.1 下载Spring5

(1)查看Spring最新版本步骤
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2)下载地址
点击跳转下载导航

2.2 打开 idea 工具,创建普通 Java 工程

在这里插入图片描述

2.3 导入 Spring5 相关 jar 包

在这里插入图片描述
导入以下jar包:
在这里插入图片描述

2.4 创建普通类,在这个类创建普通方法

public class Person {
    
    public void eat(){    
        System.out.println("吃东西!");}
        
}

2.5 创建 Spring 配置文件,在配置文件配置创建的对象

(1)Spring 配置文件使用 xml 格式
在这里插入图片描述
在这里插入图片描述
(2)编写配置文件

<?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">
       
<!--配置 User 对象创建-->
<bean id="person_ir" class="com.ir.spring5.Person"></bean>

</beans>

注意:

在配置文件中的"bean"标签里,id可以随便取,class为对应的类的全路径。

2.6 进行测试代码编写

package com.ir.spring5;

import javafx.application.Application;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class test {
    @Test
    public void testEat(){
        //1.加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("person1.xml");
        //2. 获取配置创建的对象
        Person person = context.getBean("person_ir",Person.class);
        //3. 测试
        System.out.println(person);//com.ir.spring5.Person@436e852b
        person.eat();//吃东西!
    }
}

注意:

ClassPathXmlApplicationContext():顾名思义,ClassPath寻找类的路径,但此路径是相对于src下的路径,如果配置文件不是直接创建在src下的,则需要写清楚路径。

相关文章:

  • C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】
  • Halcon图像分割总结
  • 学习笔记-WinRM
  • Java内存模型与volatile
  • LIO-SAM中的mapOptmization
  • Pandas数据处理可视化
  • NA of optical fiber(光纤的数值孔径)
  • 花了整整一天,总结了C语言所有常用的文件操作
  • 2022 年十大 Python Web 开发框架
  • Go语言学习(五)-- 函数和闭包
  • 【数据结构】链表其实并不难 —— 手把手带你实现单链表
  • LeetCode每日一题——754. 到达终点数字
  • 有一个是对的,就是坚持去做难的事情。
  • httpClient同步、异步性能对比
  • 吴峰光杀进 Linux 内核
  • 朋友离职了,一周面试了20多场,我直呼内行
  • 创建 MQTT 连接时如何设置参数?
  • C#基础知识
  • 云原生之快速使用Nacos Spring Cloud
  • 什么是GPIO的推挽输出和开漏输出