Spring的学习

Spring



前言

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。


一、Spring Framework系统架构

在这里插入图片描述

核心概念IoC

初始代码耦合性太高,不利于后期开发维护,所以在程序中不主动使用new产生对象,转为由外部提供对象
在这里插入图片描述在这里插入图片描述

1.Bean

1.1bean的基础配置

在这里插入图片描述

<!--1.导入spring的坐标spring-context-->
 <!--导入spring框架-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.2.RELEASE</version>
    </dependency>
     <!--2.配置bean-->
    <!--id属性表示给bean起名字
        class属性表示bean定义类型
        name属性可以起多个别名,用空格,逗号,分号隔开
        scope属性表示bean的作用范围默认单例,prototype多例-->
    <bean id="bookDao" name="dao dao2" class="demo.dao.impl.BookDaoImpl" scope="prototype"/>

bean的作用范围

  • bean默认是单例,指那些可以被用户复用的对象
  • 适合交给容器进行管理的bean
    - 表现层对象
    - 业务层对象
    - 数据层对象
    - 工具对象
  • 不适合交给容器管理的bean
    • 封装实体的对象

1.2bean的实例化

1.构造方法(常用)

  • 提供可访问的构造方法
  • 配置(以bookDao为例)
<bean id = "bookDao" class = "com.demo.iml.BookDaoImpl" />
  • 无参构造方法不存在时,将会抛出异常BeanCreationExcetion
    2.静态工厂(了解)
    3.实例工厂(了解)
    4.实例化bean的第四种方式-FactoryBean
  • FactoryBean
public class UserDaoFactoryBean implements FactoryBean<UserDao>{
	public UserDao getObject() throws Exception {
		return new UserDaoImpl();
	}
	public Class<?> getObjectType() {
		return UserDao.class;
	}
}
  • 配置
<bean id = "userDao" class = "com.demo.factory.UserDaoFactoryBean " />

1.3bean的生命周期

在这里插入图片描述

2.依赖注入方式

2.1向一个类中传递数据的方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2自动装配

  • IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配,例如dao类和service实现类的依赖关系
  • 配置中使用bean标签autowire属性设置自动装配的类型
    在这里插入图片描述
  • 依赖自动装配特征
    在这里插入图片描述

3.注解开发

在这里插入图片描述

在这里插入图片描述

3.1bean管理

在这里插入图片描述

3.2依赖注入

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.3第三方bean管理

在这里插入图片描述
在这里插入图片描述

  • 简单类型依赖注入
    在这里插入图片描述
  • 引用类型依赖注入
    在这里插入图片描述

4.小结xml配置对比注解配置

在这里插入图片描述

核心概念AOP

1.AOP简介

在这里插入图片描述以下案例为例:
将程序中方法的共性抽取出来放到通知类里,需要执行的定义为切入点,切入点和通知绑定为切面(在切入点上执行那些通知)
在这里插入图片描述小结:
在这里插入图片描述

1.2AOP工作流程

在这里插入图片描述

1.3AOP切入点表达式

在这里插入图片描述在这里插入图片描述

1.4AOP通知类型

在这里插入图片描述在这里插入图片描述在这里插入图片描述


总结

加油

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值