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

徐州企业网站建设自动点击关键词软件

徐州企业网站建设,自动点击关键词软件,泰安网站开发公司,武汉光谷网站建设公司文章目录1、Spring2、SpringFramework系统架构3、BeanBean的配置Bean的实例化Bean的生命周期4、依赖注入DIsetter注入和构造器注入依赖自动装配5、集合注入1、Spring Spring地址:https://spring.io Spring技术的优点: Spring家族(Spring全家…

在这里插入图片描述

文章目录

  • 1、Spring
  • 2、SpringFramework系统架构
  • 3、Bean
    • Bean的配置
    • Bean的实例化
    • Bean的生命周期
  • 4、依赖注入DI
    • setter注入和构造器注入
    • 依赖自动装配
  • 5、集合注入

1、Spring

Spring地址:https://spring.io

在这里插入图片描述
Spring技术的优点:

在这里插入图片描述
在这里插入图片描述
Spring家族(Spring全家桶):

在这里插入图片描述

2、SpringFramework系统架构

Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基。

Spring Framework系统架构图如下:

在这里插入图片描述

核心概念

代码书写现状–耦合度偏高

在这里插入图片描述

基于上面的问题,我们考虑使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象
在这里插入图片描述
Ioc(Inversion of Control)即,控制反转,这种思想核心在于把对象的创建控制权由程序转移到外部,以达到解耦的目的。

  • Spring技术对Ioc思想进行了实现—提供一个Ioc容器,来充当Ioc思想中的"外部"
  • Ioc容器负责对象的创建、初始化等一系列工作,被创建或被管理的对象在Ioc容器中统称Bean
  • 在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入(DI,Dependency Injection)
    在这里插入图片描述
    小结:

在这里插入图片描述

Ioc入门案例

源码结构如下:

在这里插入图片描述
使用之前耦合度较高的方式,则:

在这里插入图片描述
使用Ioc思想之后,先准备一个配置文件applicationContext.xml:

在这里插入图片描述
(新建没有Spring Config选项的,先导入Spring坐标,看下图:)
在这里插入图片描述
接下来新建App2.java文件,使用Ioc思想:

  • 获取Ioc容器
  • 获取bean

在这里插入图片描述

DI入门案例

做完上面的Ioc,还遗留两个问题:
在这里插入图片描述

  • 删除业务层中使用new对象创建的dao对象,提供set方法给容器调用,用来传对象
    在这里插入图片描述
  • 在配置文件中配置两个bean之间的关系,Service中注入dao
    在这里插入图片描述

3、Bean

Bean的配置

Bean的基础配置

基础配置
属性中,除了id,也可用name属性来标识,name是在起别名。多个别名之间用逗号封号空格都行。getBean方法中除了传入id,传入别名name也可,ref属性中也可以用name代替id

在这里插入图片描述
注意,当getBean传入的id或者name不存在,出现异常:

在这里插入图片描述

两次获取bookService对象:
在这里插入图片描述
根据输出结果可以看到这是同一个对象:
在这里插入图片描述
由此,使用scope属性来控制创建出来的实例是一个还是多个:

在这里插入图片描述
关于bean默认是单例的一些思考:如果这个对象是每次会记录一些成员变量的属性值,即不能复用,那这种对象就不适合交给容器进行管理。

在这里插入图片描述

Bean的实例化

Bean的本质就是对象,创建bean是使用构造方法完成的

Bean的实例化--构造方法

Spring创建对象的时候默认使用对应类的无参构造,而且构造方法是private也可以成功(底层走的是反射)

在这里插入图片描述
当手写了有参,无参被覆盖后,再执行程序:

error
在这种创建bean的方法中,如果无参构造不存在,则有BeanCreationException异常

Bean的实例化--静态工厂

相比于之前的使用构造方法,静态工厂即某个工厂类中写一个get方法,来return一个需要的对象。一般为了兼容早期的遗留系统使用。

在这里插入图片描述

Bean的实例化--实例工厂与FactoryBean

和之前的静态方法不同的是,实例工厂即通过工厂类的实例方法来造对象。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如此,有两个缺陷,一是工厂对象的创建,而是创建所需对象
在这里插入图片描述
由此有了另一种思路:

代码
此时的配置文件就只需:
在这里插入图片描述

Bean的生命周期

  • 初始化容器
  • 创建对象(new,分一块内存)
  • 执行构造方法
  • 执行属性注入(set方法)
  • 执行bean的初始化方法
  • 使用bean
  • 执行业务操作
  • 关闭或销毁容器
  • 执行bean的销毁方法

使用自己定义的方法对bean的生命周期进行控制:

在这里插入图片描述
也可以直接实现这两个接口,然后重写方法来完成,这样就不用在xml文件中加配置了:

在这里插入图片描述


注意到:初始化bean的时机是在set完属性之后,而销毁bean的时机是容器关闭前触发bean的销毁而容器关闭的方式有两种:

  • 使用ConfigurableApplicationContext接口的close方法
  • 注册关闭钩子,这样程序运行完退出JVM前会先关闭容器再退出虚拟机

关闭容器的代码

4、依赖注入DI

setter注入和构造器注入

依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,可以使用set方法或者构造方法来完成:

依赖注入的思路

使用setter注入引用类型

  • 在bean中定义引用类型的属性,并提供相应的set方法
    在这里插入图片描述

  • 在xml配置中使用property标签的ref属性来注入引用类型的对象,name后是属性名,ref后是参照对象的id
    在这里插入图片描述
    需要注入多个引用类型属性的时候,再加property标签就行
    在这里插入图片描述

使用setter注入简单数据类型

  • 提供对应属性的set方法
  • 还是使用property标签,不同的是不再用引用类型专属的ref,而是value

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

构造器注入

  • 定义引用类型属性并提供构造方法
    在这里插入图片描述
  • xml配置中使用constructor-arg标签,name属性是构造方法中的形参名,不再是属性名。ref属性和之前一样。name是形参名,这样耦合度很高,可以用type属性(即按形参类型区分注入)或者index属性(按照形参位置注入)
    在这里插入图片描述
  • 对于普通类型,也是提供构造方法,使用constructor-arg标签
    在这里插入图片描述

依赖自动装配

Ioc容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程,有以下几种方式:

  • 按类型
  • 按名称
  • 按构造方法
  • 不启用自动装配

配置中使用bean标签autowrite属性设置自动装配的类型:

在这里插入图片描述
举例:

在这里插入图片描述
自动装配的注意点:

在这里插入图片描述

5、集合注入

http://www.tj-hxxt.cn/news/8540.html

相关文章:

  • 做视频网站玩什么配置sem优化是什么意思
  • 泰安网站建设优化怎么给客户推广自己的产品
  • 深圳正规网站建设如何使用网络营销策略
  • 手机网站建设liednsseo网站推广方式
  • 自己的电脑做网站服务器 买的服务器 速度邢台网站公司
  • 张家港外贸型网站建设市场营销策略包括哪些策略
  • 怎么在云服务器上搭建网站怎么做游戏推广员
  • 辽宁建设工程信息网企业人员调动网站seo站群软件
  • vps做网站教程品牌宣传
  • 如何做网站联盟营销怎样宣传网站
  • .net程序员网站开发工程师重庆网站seo服务
  • 汝州网站制作免费seo搜索优化
  • 三网合一网站建设计划培训计划方案
  • wordpress文章按阅读次数排序济南网站万词优化
  • 淘宝刷网站建设高粱seo博客
  • 做视频网站违法吗seo优化平台
  • 游戏界面设计网站快速提升排名seo
  • 中国万网网站建设服务怎么创作自己的网站
  • 有关电商网站开发的参考文献济南seo的排名优化
  • wordpress在php什么版本网站怎么做优化排名
  • 鹤壁做网站哪家好好看的web网页
  • 常州建设网站公司哪家好性能优化工具
  • 网站开发视频播放网站赣州seo推广
  • 网站怎么设计好看的图片网站推广策划方案
  • 随州论坛重庆seo点击工具
  • 哪个网站做线路攻略做得好上海百度提升优化
  • 广东网站建设公司报价淘宝seo搜索优化工具
  • 网页上做网会员网站备案怎么写网店代运营公司
  • joomla与wordpress比较泰州seo推广
  • 大淘客网站如何做seo百度浏览器app