栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【无标题】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【无标题】

Spring
  • Spring概念
    • spring框架概述
    • 配置对象创建
  • IOC容器
    • IOC概念和原理
    • IOC底层原理
    • IOC过程
    • IOC接口(BeanFactory)
    • IOC操作Bean管理
      • 基于xml
        • 1.基于xml创建对象
        • 2.基于xml注入属性
        • xml注入其他属性
          • 1.字面量(属性的固定值)
          • 2.注入属性-外部bean
          • 3.注入属性-内部bean
          • 4.注入属性-级联赋值
          • 5.注入属性-注入集合属性
      • IOC操作Bean管理
        • (FactoryBean)
        • (Bean作用域)
        • (Bean生命周期)
      • 基于注解
  • AOP
  • JDBC Template
  • 事务管理
  • Spring新特性
    • BeanFactory 和 ApplicationContext有什么区别
    • 列举 IoC 的一些好处
    • Spring IoC 的实现机制
    • 什么是 spring bean
    • spring 提供了哪些配置方式
    • spring 支持集中 bean scope

Spring概念 spring框架概述

1.spring是一个轻量级的、开源的J2EE框架
轻量级:扎包数量少,体积小,可独立提供使用。
开源:免费提供源代码。
框架:开发更方便,代码更简洁。

2.解决企业应用开发的复杂性

3.两个核心部分:IOC,AOP。
IOC : 控制反转,把创建对象的过程交给spring管理。
AOP : 面向切面,不修改源代码进行功能增强。

4.特点

  • 方便解耦,简化开发
  • AOP编程支持
  • 方便程序测试
  • 方便和其他框架集成
  • 方便进行事务操作
  • 降低API使用难度
配置对象创建

1.配置对象创建


2.加载spring配置文件

ApplicationContext context=new ClassPathXmlApplicationContext(.xml);

3.获取配置创建的对象

类名 实例化=context.getBean("id名字",类名.class);
IOC容器 IOC概念和原理

什么是IOC
1.控制反转,把对象的创建和对象之间的调用过程,交给spring进行管理。
2.使用目的:降低耦合度

IOC底层原理

1.xml解析、工程模式、反射。

IOC过程

进一步降低耦合度

IOC接口(BeanFactory)
  • IOC思想基于IOC容器,IOC容器底层就是对象工厂。
  • Spring提供IOC容器实现两种方式:
  1. BeanFactory:IOC容器最基本实现方式,是spring内部使用的接口,不提供给开发人员

加载配置文件时不会创建对象,在获取对象时在创建

  1. ApplicationContext:是BeanFactory子接口,提供更多更强大的功能,一般提供给开发人员

加载配置文件时创建对象

  • BeanFactory子接口

ConfigurableApplicationContext:相关扩展功能

  • ApplicationContext接口有实现类

FileSystemXmlApplicationContext
ClassPathXmlApplicationContext

IOC操作Bean管理
  • 什么是Bean管理
    1.Spring创建对象
    2.Spring属性注入
基于xml 1.基于xml创建对象


在spring配置文件中,使用bean标签,并添加属性

  • id属性:唯一标识
  • class属性:类全路径(包名+类名)
  • name属性:可加特殊符号

创建对象,默认执行无参构造方法。

2.基于xml注入属性

DI : 依赖注入,就是注入属性
1.set方法注入

  • 创建一个类,定义属性和set方法
  • 在spring配置文件中配置对象创建和属性注入

2.有参构造函数

  • 创建类,定义属性,创建有参构造方法
  • 有参注入

3.p名称空间注入
可简化基于xml注入
第一步 添加p名称空间在配置文件中

第二步 进行属性注入,在bean标签中进行操作

xml注入其他属性 1.字面量(属性的固定值)

(1)null值

(2)包含特殊符号

2.注入属性-外部bean

(1)创建service类和dao类
(2)在service类中调用dao中方法
(3)在spring配置文件中配置

3.注入属性-内部bean

(1)一对多关系:一个部门中多个员工
(2)在实体类之间表示一对多关系
(3)在spring配置文件中配置

4.注入属性-级联赋值

第一种:

第二种

5.注入属性-注入集合属性

1.数组属性
2.List集合属性
3.注入Map属性
(1)创建类定义属性,生成set方法

(2)在spring配置文件中

4.在集合里面设置对象类型值


5.把集合注入部分提取出
(1)在spring配置文件中引入util

IOC操作Bean管理 (FactoryBean)

spring有两种类型bean:Bean,FactoryBean。

  1. Bean:在配置文件中定义的bean类型就是返回类型
  2. FactoryBean:在配置文件中定义的bean类型可以和返回值不一样
    第一步:创建类,让这个类作为工厂bean,实现接口FactoryBean
    第二步:实现接口中方法,在实现的方法中定义返回的bean类型
(Bean作用域)

1.设置bean是单实例还是多实例(.默认情况是单实例)

单实例


2.通过bean标签中scope属性设置单实例或多实例

  • scope:
    1.singlton:默认单实例
    2.prototype:多实例
    3.request:请求
    4.session:

区别:
1.创建时机
singlton:加载文件时创建对象
prototype:在getBean时创建


(Bean生命周期)

生命周期:从对象的创建到销毁的过程
1.通过构造器创建(无参构造)
2.为属性设置值和其他bean引用(set方法)
3.调用bean初始化方法(配置)
4.可使用(对象获取到)
5.当容器关闭时,调用bean销毁方法(需要配置销毁方法)

基于注解 AOP JDBC Template 事务管理 Spring新特性 BeanFactory 和 ApplicationContext有什么区别

BeanFactory和ApplicationContext是spring的两大核心接口,都可以作为spring的容器,其中ApplicationContext是BeanFactory的子接口。

依赖关系:

  • BeanFactory:是spring最底层的接口,包含了各种Bean的定义,读取bean的配置文档,管理bean的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。

  • ApplicationContext接口:作为BeanFactory的派生,提供了BeanFactory所具有的功能外,还提供了更完整的框架功能。

  1. *继承了MessageSource,支持国际化,统一资源文件访问的方式。
  2. 提供在监听器中注册bean事件。
  3. 同时加载多个配置文件。
  4. 载入多个上下文。

加载方式:

  • BeanFactory采用的是延迟加载注入bean,即只用使用到某个bean的时候,才对该Bean进行加载实例化,如果这样,我们就不能发现一些存在的spring配置问题,只有调用getBean方法时才会抛出异常。
  • ApplicationContext,它是在容器启动时,一次性创建了所有的bean,这样,在容器启动时,我们就可以发现spring中存在的配置错我。相对于基本的BeanFactory,ApplicationContext唯一的不足是占用内存空间,当应用程序配置Bean较多时,程序启动会很慢。

创建方式:

  • BeanFactory通常以编程的方式创建
  • ApplicationCotext还能以声明的方式创建。

注册方式:
BeanFactory,ApplicationCotext都支持BeanPostProcessor,BeanFactoryPostProcessor的使用,两者区别:

  • BeanFactory需要手动注册
  • ApplicationContext是自动注册。
列举 IoC 的一些好处
  1. 它将最小化应用程序中的代码量。·
  2. 它将使您的应用程序易于测试。因为它不需要单元测试用例中的任何单例或 JNDI 查找机制。 ·
  3. 它以最小的影响和最少的侵入机制促进松耦合。 ·
  4. 它支持即时的实例化和延迟加载服务。
Spring IoC 的实现机制

工厂模式加反射机制

什么是 spring bean

是构成用户应用程序主干的对象,由 Spring IoC 容器实例化,配置,装配和管理。 是基于用户提供给容器的配置元数据创建。

spring 提供了哪些配置方式
  • 基于 xml 配置
    bean 所需的依赖项和服务在 XML 格式的配置文件中指定。这些配置文件通常包含许多 bean 定义和特定于应用程序的配置选项。它们通常以 bean 标签开头。


复制代码
  • 基于注解配置.
    可以通过在相关的类,方法或字段声明上使用注解,将 bean 配置为组件类本身。默认情况下,Spring 容器中未打开注解装配。因此,需要在使用它之前在 Spring 配置文件中启用它。



复制代码
  • 基于 Java API 配置
    (1) @Bean 注解扮演与 元素相同的角色。
    (2) @Configuration 类允许通过简单地调用同一个类中的其他 @Bean 方法来定义 bean 间依赖关系。
@Configuration
public class StudentConfig
{ 
	@Bean
	public StudentBean myStudent(){ 
		return new StudentBean();
	}
}复制代码
spring 支持集中 bean scope

Spring bean 支持 5 种 scope:
Singleton - 每个 Spring IoC 容器仅有一个单实例。
Prototype - 每次请求都会产生一个新的实例。
Request - 每一次 HTTP 请求都会产生一个新的实例,并且该 bean 仅在当前 HTTP 请求内有效。Session - 每一次 HTTP 请求都会产生一个新的 bean,同时该 bean 仅在当前 HTTP session 内有效。 Global-session - 类似于标准的 HTTP Session 作用域,不过它仅仅在基于 portlet 的 web 应用中才有意义。
Portlet 规范定义了全局 Session 的概念,它被所有构成某个 portlet web 应用的各种不同
的 portlet 所共享。在 globalsession 作用域中定义的 bean 被限定于全局 portlet Session
的生命周期范围内。如果你在 web 中使用 global session 作用域来标识 bean,那么 web
会自动当成 session 类型来使用。 仅当用户使用支持 Web 的 ApplicationContext 时,最
后三个才可用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号