Spring1---入门

什么是Spring框架

  1、概述

          是一个轻量级的企业级应用框架

          企业应用开发的"一站式"选择,贯穿于表现层、业务层、持久层

 1.1、优点

       1、 低侵入式设计

        2、独立于各种应用服务器

        3、依赖注入特性将组件关系透明化,降低耦合度

        4、面向切面编程特性允许将通用任务进行集中式处理

        5、与第三方框架的良好整合

1.2、Spring体系结构

 1.3、Spring设计理念

是面向Bean 的编程

1.4、Spring两大核心技术

        1、控制反转(IoCInversion of Control)/依赖注入(DIDependency Injection)

                创建对象的控制权转移,是一种程序设计思想

        2、面向切面编程(AOPAspect Oriented Programming)

                将依赖的对象注入到需要的类中去,是"控制反转"设计思想的具体实现方式

2、创建Spring项目

    1.前期准备

            分别创建Dao层的Service层接口和实现类:

Dao层接口代码如下:

Dao层代码实现如下:

Service层接口如下:

Service层实现类如下:

    2.导入坐标

使用Maven工具管理项目,我们需要导入Spring对应的Maven坐标

Spring坐标导入:

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

3.编写配置文件

applicationContext.xml的头部文件主要包含以下内容:

1、XML声明:头部文件应以XML声明开始,指定XML版本和字符编码。例如:

<?xml version="1.0" encoding="UTF-8"?>

2、命名空间的引入:为了使用Spring框架提供的各种特性和标签,需要引入相应的命名空间。通常会引入xmlns前缀为beans的命名空间,它是Spring核心模块的命名空间。例如:

xmlns:beans="http://www.springframework.org/schema/beans"

3、模式约束的引入:为了验证和验证XML配置的正确性,需要引入相应的模式约束。通常会引入xsi:schemaLocation属性来指定使用的模式约束文件。例如:

xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd"

综上所述,applicationContext.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">


</beans>

 4.测试类编写

        测试代码:

        测试结果:

3、面向切面编程(AOP) 

1、AOP 目标
  让我们专注于业务功能处理
2、AOP 原理
  将复杂的需求分解出不同方面,将不同对象、不同模块之间的共同业务集中解决
  通过动态代理的方式,把抽离出来的共性代码 " 织入 " 到业务代码中,实现对原有代码的增    强处理

 

         3、AOP相关术语

1、Aspect (切面)
2、Advice (增强处理)
3、Pointcut (切入点)
4、Join Point (连接点)
5、Target Object (目标对象)
6、AOP proxy AOP 代理)
7、Weaving (织入)

4、表达式匹配规则举例

public * addNewUser(entity.User)"*"表示匹配所有类型的返回值

public void *(entity.User)"*"表示匹配所有方法名

public void addNewUser(..)".."表示匹配任意参数个数和类型

* com.service.*.*(..):匹配com.service包下所有类的所有方法

* com.service..*.*(..):匹配com.service包及其子包下所有类的所有方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值