zoukankan      html  css  js  c++  java
  • 自动注入

    自动注入的是对象,字符串不注入

    一、

    1、在spring配置文件中对象名和 ref ="id"  id名相同使用自动注入,可以不配置<property/>

    2、两种配置办法:

      2.1 在<bean>配置 autowire=" " 配置,只对这个<bean> 生效

      2.2 在<beans>中通过default-autowire=" " 配置,表示当前文件中所有的<bean>都是全局配置内容

    3、autowire=" " 可取值

      3.1 default:默认值,根据全局default-autowire=" " 值。默认全局和局部都没有配置情况下,相当于no

      3.2 no:不自动注入

      3.3 byName:通过名称自动注入,在spring容器中找类的id

      3.4 byType:根据类型注入

        3.4.1 spring 容器中不可以出现两个相同类型的<bean>

      3.5 constructor:根据构造方法注入

        3.5.1 提供对象参数的构造方法(构造方法参数中包含注入对象)

        3.5.2 底层使用byName,构造方法参数名和其他<bean>的id相同

    二、Spring中加载preperties文件

       1、 在src下新建xxx.properties 文件

        2、在spring配置文件中先引入xmlns:context,在下面添加

        2.1 如果需要记载多个配置文件 逗号分割

    <context:property-placeholder location="classpath:db.properties"/>

        3、添加了属性文件记载,并且在<bean>中开启自动注入注意的地方

        3.1 SqlSessionFactoryBean 的 id 不能叫做 sqlsessionFactory

        3.2 修改

          3.2.1 把原来的ref 引用替换成value赋值,自动注入只能影响ref,不会影响value赋值

        <!-- 扫描器 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.bjsxt.mapper"></property>
            <property name="sqlSessionFactoryBeanName" value="factory"></property>
          </bean>

      4、在被spring管理的类中通过 @value("${key}") ,取出properties中内容

        4.1 添加注解扫描

    <context:component-scan> base-package="com.bjsxt.service.impl" </context:component-scan>

        4.2 在类中添加

          4.2.1 key和变量名可以不相同

          4.2.2 变量类型任意,只要保证key对应的value能转换成这个类型就可以

    @Value("${yu.name}")
    private String test;
    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    Python 去掉文本中空行
    Pandas常用操作方法
    Numpy常用操作方法
    Python获取指定路径下所有文件的绝对路径
    Python获取指定目录下所有子目录、所有文件名
    Pycharm选中代码无法Backspace直接删除
    Redis常用命令(一)
    在eclipse程序中设置的断点上有一个斜杠,正常启动debug不能够跳转到debug页面,怎么解决
    常见的几种网络广告模式
    struts2中拦截器与过滤器的区别
  • 原文地址:https://www.cnblogs.com/axu521/p/10149994.html
Copyright © 2011-2022 走看看