Sping框架

Sping框架,第1张

Sping框架

文章目录
  • Sping
    • 1.Sping概述
      • 1.1 Spring 是什么?
      • 1.2 Spring 优点
        • 轻量级的
        • 非侵入式
        • IOC
        • AOP
    • 2. Sping体系结构
    • 3. Spring Hello World 搭建
      • Maven 导入 spring 核心基础 jar
      • 编写 spring 配置文件
      • 编写一个 User 实体类
      • 测试 spring
    • 4. IOC(控制反转)
    • 5. Spring Bean 管理
      • 5.1 基于 xml 配置方式
      • 5.2 Xml 配置方式依赖注入【DI:Dependency Injection】
      • 5.3 注解方式实现
      • 5.4 注解方式注入属性【DI:Dependency Injection】
      • 5.5 注解与 XML 的对比
    • 6. Spring JDBC
      • 6.1 开发步骤
        • 1. 下载 Spring JdbcTemplate 的 jar 包
        • 2. 导入属性文件
        • 3. 管理数据源对象
        • 4. 在配置文件中创建 JdbcTemplate
        • 5. 在类中获得 JdbcTemplate 对象,就可以直接使用
            • JdbcTemplate 中常用的方法:
    • 6. 不使用AOP的开发方式
    • 7. AOP (面向切面编程)
      • 7.1 概述
      • 7.2 AOP 的基本概念
      • 7.3 Spring AOP实现
    • 8. Spring事务管理
    • 9. Spring事务传播行为
    • 10. Spring集成Mybatis

Sping 1.Sping概述 1.1 Spring 是什么?

Spring 是于 2003 年兴起的一个轻量级的,IOC 和 AOP 的 Java 开发框架,它 是为了简化企业级应用开发而生的。

1.2 Spring 优点 轻量级的

Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核 心功能的所需的 jar 总共在 3M 左右。 Spring 框架运行占用的资源少,运行 效率高。

非侵入式

编写一些业务类的时候不需要继承 spring 特定的类,通过配置完成依赖注入后 就可以使用,此时,spring 就没有侵入到我业务类的代码里.

IOC

即 Inversion of Control,缩写为 IOC,就是由 Spring IoC 容器管理对象,而 非传统实现中由程序代码直接 *** 控.

AOP

通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传 统 OOP 实现的功能可以通过 AOP 轻松应付在 Spring 中,开发人员可以从 繁杂的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高 开发效率和质量.

  • 一站式框架
    Spring 本身也提供了数据访问功能和web 功能,以及可以很好的管理其他框架
2. Sping体系结构


Core Container(核心容器):
Beans: 管理 Beans Core: Spring 核心 Context: 配置文件 expressionLanguage: SpEL 表达式

AOP(切面编程)
AOP 框架:
Aspects Data Access(数据库整合):
JDBC, ORM, OXM, JMS, Transaction

Web(MVC Web 开发):
Web, Servlet, Portlet, Struts

Test(Junit 整合)
官网地址: https://spring.io/

3. Spring Hello World 搭建 Maven 导入 spring 核心基础 jar



 org.springframework      
 spring-context 
 5.2.2.RELEASE 

编写 spring 配置文件
 
 
  

编写一个 User 实体类

测试 spring

4. IOC(控制反转)


5. Spring Bean 管理 5.1 基于 xml 配置方式


5.2 Xml 配置方式依赖注入【DI:Dependency Injection】

指 Spring 创建对象的过程中,将对象依赖属性(简单值,集合,对象)通 过配置设置给该对象。
实现 IOC 需要 DI 做支持

注入的方式:
    set 方法注入
    构造方法注入

5.3 注解方式实现

注解开发准备工作
注解需要的 jar 包
注解功能封装在 AOP 包中,导入 Spring aop jar 包即
开启注解扫描

 

• 注解创建对象

@Component(value=“user”)等于

 

@Service
@Repository

以上注解都可以实现创建对象功能,只是为了后续扩展功能,在不同的层 使用不同的注解标记

@Scope(value=“prototype”) 原型
@Scope(value=“ singleton ”) 单例

5.4 注解方式注入属性【DI:Dependency Injection】


5.5 注解与 XML 的对比

注解优点: 方便,直观,高效(代码少,没有配置文件的书写那么复杂)。
注解缺点: 以硬编码的方式写入到 Java 代码中,修改是需要重新编译代码的。
xml 优点是: 配置和代码是分离的,在 xml 中做修改,无需编译代码,只需重 启服务器即可将新的配置加载。
xml 的缺点是: 编写麻烦,效率低,大型项目过于复杂。

6. Spring JDBC

Spring 是个一站式框架:
Spring 自身也提供了控制层的 SpringMVC 和 持久 层的 Spring JdbcTemplate。

6.1 开发步骤 1. 下载 Spring JdbcTemplate 的 jar 包
  org.springframework spring-jdbc 5.2.2.RELEASE    com.alibaba druid 1.1.10 
2. 导入属性文件

3. 管理数据源对象

spring 管理与数据库链接 (数据源)

     
   
     
4. 在配置文件中创建 JdbcTemplate
  
5. 在类中获得 JdbcTemplate 对象,就可以直接使用
 
JdbcTemplate 中常用的方法: 

**execute:**无返回值,可执行 ddl,增删改语句
**update:**执行新增、修改、删除语句;
queryForXXX:执行查询相关语句;

6. 不使用AOP的开发方式

先定义好接口与一个实现类
该实现类中除了要实现接口中的方法外,还要再写两个非业务方法。

非业务方法也称为交叉业务逻辑:
➢ doTransaction():用于事务处理
➢ doLog():用于日志处理
然后,再使接口方法调用它们。接口方法也称为主业务逻辑.

7. AOP (面向切面编程) 7.1 概述

AOP 为 Aspect Oriented Programming 的缩写
意为:面向切面编程
通过 预编译方式运行期间动态代理实现程序功能的统一维护的一种技术


好处:减少重复,专注业务;
注意:面向切面编程只是面向对象编程的一种补充。
核心原理:
使用动态代理的方式在执行方法前后或者出现异常的时候做加入相关的逻辑.
使用案例:
         事务处理:开启事务,关闭事务,出现异常后回滚事务
         权限判断:在执行方法前,判断是否具有权限
         日志:在执行前进行日志处理

7.2 AOP 的基本概念

    连接点(Joinpoint):类中可以被增强的方法,这个方法就被称为连接点
    切入点(pointcut):类中有很多方法可以被增强,但实际中只有 add 和 update被增了,那么 add 和 update 方法就被称为切入点(实际实现的连接点)
    通知(Advice): 通知是指一个切面在特定的连接点要做的事情(增强的功能)。通 知分为方法执行前通知,方法执行后通知,环绕通知等.
    切面(Aspect): 把通知添加到切入点的过程叫切面.
    目标(Target): 代理的目标对象(要增强的类)
    代理(Proxy): 向目标对象应用通知之后创建的代理对象

7.3 Spring AOP实现 8. Spring事务管理 9. Spring事务传播行为 10. Spring集成Mybatis

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存