学习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;

 

posted on 2018-12-20 16:05  axu521  阅读(266)  评论(0编辑  收藏  举报

<