自动注入

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

一、

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;

 

转载于:https://www.cnblogs.com/axu521/p/10149994.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值