zoukankan      html  css  js  c++  java
  • spring的基本使用

    Spring的基本使用ioc,今天主要给大家说明了解决强耦合的联系,并且,注入的基本使用

    Java里面的强耦合并且讲了spring是如何解决强耦合的
    第一种方式使用工厂模式,用的是反射,第二种方式是spring
    spring解决强耦合的方式
    首先创建个bean.xml文件,在文件里面配置你要 new 的对象,
    <bean id="保证唯一性,最好是见名知意" class="你要new的对象的全限定类名">

    </bean>
    然后是在你需要运行的类的里面使用ClassPathXmlApplicationcontext("里面读取bean.xml文件")
    得到的是一个Applicationcantext对象然后给这个对象起一个名字ac(注意:名字起什么都行,只是一个名字而已)
    ac.getbean("里面填写的是你在xml文件里面配置的id")
    得到的是一个你在xml文件里面配置的class信息实现的接口//列如你在xml文件里面配置的是customerserviceimpl,那么你在这里的返回值就是customerservice
    2:得到xml文件的方式
    1:ClassPathXmlApplicationcontext("里面直接填写xml文件就可以")
    FileSystemXmlApplicationContext("里面填写的是你工作区间里面的这个项目的xml文件的跟路径")
    3单列和双列
    最好的方法证明的就是创建两个对象比较一下如果为true那就是单列 如果是false那么就是双列
    spring里面的单列和双列是怎么配置的呢?
    答:scope="singleton" 那么就是单列
    scope="prototype" 那么就是双列
    初始化和销毁
    初始化是在spring里面init-Methods
    销毁方法是在spring里面配置的是 destory-Methods
    3:给属性赋值
    构造方法赋值

    <constructor-arg value="你要赋的什么值" name="等于你的字段的名称"></constructor-arg>
    <constructor-arg value="你要赋的什么值" index="等于你的字段的角标"></constructor-arg>
    <constructor-arg value="你要赋的什么值" type="等于你的字段的类型"></constructor-arg>


    给集合赋值一个数组
    <property name="等于你集合的名字">
        <array>
            <value>往集合里面添加数据相当于add方法</value>
        </array>//name可以当做姓名也可以当做年龄
        <list></list>//跟上面一样
        <set></set>//跟上面一样
    </property>
    <property name="map被遍历后的名称">
        <map>
            <entry key="相当于字段名称比如姓名,年龄" value="给字段名赋值"></entry>
        </map>
    </property>
    给properties赋值
    <property>
        <props>
            <prop key="跟map的key是一样的">在中间写value</prop>
        </props>
    </property>
    给引用数据类型赋值
    <bean id="customerservice" class="cn.ql.service.impl.CustomerServiceImpl">
                <property name="创建接口没有给他实例化在这里写上给接口起的名字" ref="跟下面的id保持一致的"></property>
            </bean>
            <bean id="实现类的类名,可以随便起,但是最好起到见名知意的作用" class="实现类的全限定类名"></bean>
        注意:    上面这些都是需要提供set方法的
            集合跟properties是需要遍历的,遍历之后要在<property name="里面起遍历之后的名字">

  • 相关阅读:
    【DNN发布包解释】package 包裹
    数据仓库 SSIS
    【DNN 系列】 添加模块后不显示
    GridView 绑定 ObjectDataSource
    【DNN 系列】 MVC 分页
    关于一级指针和二级指针的简单见解
    高效使用Vector
    关于autoptr
    (转)Win10 + VMware-CentOS7文件共享、网络连接
    Linux 笔记
  • 原文地址:https://www.cnblogs.com/guanzhuang/p/7679574.html
Copyright © 2011-2022 走看看