Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...

    今天对Spring的基础理解又加深了一丢丢。

              1 首先Spring的基础配置文件中,主要由以下几个配置文件,

1      <beans xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
2       xmlns="http://www.springframework.org/schema/beans"
3       xsi:schemaLocation="http://www.springframework.org/schema/beans
4       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd>

             

    beans文件的根节点

              xmlns:xsi ——是指xml文件遵守xml规范   xml  schema  instance

               xmlns的意思是 XML namespace

               xsi:schemationLocation:是指具体用到的schema资源.

    2 Spring中的核心机制是依赖注入,那么谈依赖注入,必首先需要知道什么是依赖注入,A调用B,表明的是A与B之间有依赖关系,注入是表示在使用时注入B的实列。

             那么为什么会用这些呢?

            我们首先需要回忆下,对于对象A与对象B,A要调用对象B,有那几种实现方式、

              (1) 通过 new 构造器

              (2) 通过工厂模式

              (3) 通过Spring方式

new方式最简单粗暴,如果调用对象很多,代码直接耦合度会非常高。第二个就会稍微简单一些,简单理解就是工厂把B搞好,我们找工厂就行。第三种方式就是在工厂的模式上进一步简单,把B造好,B主动送上来。

第三种方式中,通常通过IOC容器来控制B送上门来。这就回到我们的主题,如何依赖注入,依赖注入通常有两种方式。

           设值注入:IOC容器通过成员变量的setter方法来注入被依赖对象。那么问题来了,Spring通过什么知道实例之间的依赖关系呢。答案是XML配置文件,即是XML Schema来定义配置文件约束

    <bean id="chinese"    class="org.crazy.app.service.impl.chinese">
    <property name ="axe"  ref="stoneAxe"/>
    </bean>

       id是该Bean的唯一标识,程序通过id属性来访问该Bean实列

       class:指定该Bean的实现类,注意此处不能用接口,必须是实现类。

        其中如果<property name=""  ref="">

Spring框架中只要出现<property.../>子元素,会立马执行Setter方法。

  简单的来概况一下设值注入就是通过setter方法位目标注入依赖关系。

 

   构造注入:在构造实例时已经完成了依赖关系的初始化化,这种利用构造器来设值依赖关系的方式,称为构造注入。通俗来说,就是驱动Spring在底层以反射方式执行带指定参数的构造器,当执行带参数的构造器时,就可以利用构造器参数对成员变量执行初始化。

           此时出现问题,Spring默认是无参数的构造器来创建对象。

 

 

2  Getter和Setter方法的好处

  首先Getter和Setter两个方法是什么?这两个方法其实是读与写两个操作,getter是外部读取操作,函数必须有返回值,且函数名是内部变量名,对成员变量进行取值操作。setter是内部写入操作,对成员变量进行赋值,相当于写入操作。

二者的好处:1 我的感触是提供了代码的封装,外部不会轻易改变内部代码的值。(别人概括的经典话是:内部储存与外部表现不同)   2 在对外部接口不变的情况下,修改内部储存方式和逻辑  3 可以有不同的访问级别

 

3Junit 测试

    Junit测试是什么?怎么用?

          Junit是一个Java语言单元测试框架,有点类似于白盒测试,此时程序员清楚知道程序的内部逻辑结构,程序员知道完成什么样的逻辑功能与完成后会怎么样?

             怎么用?需要导入Junit包,结合项目进一步使用。(明天继续补充)

  

                                                                                                                

转载于:https://www.cnblogs.com/linjingjia/p/7242399.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值