您现在的位置是:主页 > news > 网站建设毕业答辩ppt模板下载/顺德搜索seo网络推广

网站建设毕业答辩ppt模板下载/顺德搜索seo网络推广

admin2025/5/11 6:46:46news

简介网站建设毕业答辩ppt模板下载,顺德搜索seo网络推广,可以做英语题的网站,做营养的网站前言 在学习spring的时候有个很重的知识点,那就是注入,不同的注入方式为程序的运行效率,资源利用都有不同的好处,接下来就看看我通过看视频总结的注入。 一、引入注入 1.首先我们明确一个问题,什么注入?…

网站建设毕业答辩ppt模板下载,顺德搜索seo网络推广,可以做英语题的网站,做营养的网站前言 在学习spring的时候有个很重的知识点,那就是注入,不同的注入方式为程序的运行效率,资源利用都有不同的好处,接下来就看看我通过看视频总结的注入。 一、引入注入 1.首先我们明确一个问题,什么注入?…

前言

在学习spring的时候有个很重的知识点,那就是注入,不同的注入方式为程序的运行效率,资源利用都有不同的好处,接下来就看看我通过看视频总结的注入。

一、引入注入

1.首先我们明确一个问题,什么注入?

        通过spring工厂及配置文件,为所创建对象的成员变量赋值。

我们在没有学习spring之前创建对象是通过在类里利用new关键进行创建,这样的方式大家都知道,耦合性比较高,不提倡这样做,但是在我们学习spring之后就知道了,在spring框架提供工厂,对程序员来说带来了很大的便利;

所以在这里,所谓注入就是通Spring工厂及配置文件,为所创建的对象的成员变量赋值。说白了就是对一个对象进行初始化,也就是省去了new这个步骤,类似工厂一样,让工厂去造对象。

2.为什么要注入?

      通过编码的方式,为成员变量赋值,这样存在耦合。

3.如何进行注入

类为成员变量提供get和set方法

配置spring的配置文件

通过这两步就完成了注入。

4.注入的好处:  最根本的就是解耦合,从上述代码中能看出,把创建对象的任务交给了工厂,减少了依赖。

       Spring注入原理分析 

        首先,要明确一个很重要的点:对于spring来说,它操作的是配置文件,它会把配置文件翻译成代码。

最开始它先读取bean标签中的account,通过account去读取class=xxxx,用来创建对象,其实就是底层的反射实现的,等效于调用构造函数。

  • bean标签等效于对象的创建
  • properties等效于调用属性的set方法来完成赋值。

spring通过底层调用独享属性对应的set方法,完成成员变量的赋值,这种方式我们称之为set注入。

二、注入方式

 set注入

针对于不同类型的成员变量,在<properties>中注入

1.JDK内置类型

    1.1Spring+8种基本类型

<value>yangyp</value>

    1.2数组

<list><value>zhangsan@163.com</value><value>lisi@163.com</value><value>wangwu@163.com</value>
<list>

    1.3Set集合

<set><value>11111</value><value>12222</value>
</set>
<set><ref bean<set
</set>

    1.4list集合

<list><value>11111</value><value>12222</value>
</list>
<set><ref bean<set
</list>

    1.5 Map集合

注意:map---entry  ---key有特定的标签<key></key>

值根据对应类型选择对应类型的标签

<map><entry><key><value>zhangsan</value><key><value>123456</value></entry><entry><key><value>list</value><key><ref bean</entry>
</map>

     1.6Properties

<props><prop key="key1">value1</prop><prop key="key2">value2</prop>
</props>

2.用户自定义类型

     第一种方式

     为成员变量提供set get 方法

<bean id="userService" class="xxxx.UserServiceImpl"><properties name="userDAO">               //userDAO  需要这个对象<bean class ="xxxx.UserDAOImpl"/>    //用bean标签创建对象</properties>
</bean>

第二种方式

 第一种赋值方式存在的问题

  •     配置文件代码冗余
  •     被注入的对象(UserDAO),多次创建,浪费(JVM)内存资源

配置文件中进行配置

<bean id="userDAO" class="xxx.UserDAOImpl"></bean>
<bean id="userService" class="xxx.UserServiceImpl"><property name="userDAO">            <ref bean="userDAO"/>      </property>
</bean>

ref引用,解决内存资源浪费的问题,很多个对象都可以引用这一个对象

3.set注入的简化写法

  3.1基于属性简化

  JDK类型注入

<property name="name"><value>zhangsan</value>
<property>
<property name="name" value=“zhangsan”/>

注意:value属性,只简化8种基本数据类型+String 注入标签

  3.2用户自定义类型

<property name="userDAO"><ref bean =“userDAO“/>
<property>
<property name="userDAO" ref="userDAO">

  3.3基本命名空间P简化(p代表property)

   JDK类型注入

<bean id="person" class="xxx.Person><property name="name"><value>zhangsan</value>
<property>
<property name="name" value="zhangsan"/>

注意:value属性,只简化8种基本数据类型+String 注入标签

 3.4用户自定义类型

<bean id="userService" class="xxx.UserServiceImpl"><property name="userDAO"><ref bean ="userDAO"/></property>
</bean> 
<bean id ="userService" class="xxx.UserServiceImpl" p:userDAO-ref="userDAO"/>

构造注入

  • 注入:通过Spring的配置文件,为成员变量赋值
  • Set注入:Spring调用Set方法,通过配置文件,为成员变量赋值
  • 构造注入:Spring调用构造方法,通过配置文件,为成员变量赋值。

    1.开发步骤

   提供有参的构造方法

Public class Customer{Private String name;Private int age;Public Customer (String name,int age){this.name=name;this.age=age;}
}

        Spring的配置文件

<bean id="customer" class="com.dmsd.mapper.contstructer.Customer"><constructor-arg><value>zhangsan</value></constructor-arg><constructor-arg><value>111</value></constructor-arg>
</bean>

用构造方法正如上面有几个参数,就需要写几个<constructor-arg>标签。

2.构造方法重载

  2.1参数个数不同时

        通过控制<constructor-arg>标签的数量进行区分

  2.2构造参数个数相同时

通过在标签引入type属性,进行类型区分<constructor-arg type="">