Spring学习日记——DAY03(注解注入处理)
今天针对Spring框架中的注解注入操作进行学习学习内容如下1.在类上的注解Component代表是Spring容器中的组件具有一个value属性用于设置组件的idService也代表是Spring容器中的组件常用于Service层value属性与Component一致Repository也代表是Spring容器中的组件常用于持久层(DAO)value属性与Component一致Controller也代表是Spring容器中的组件常用于Control层value属性与Component一致2.在属性上的注解Value主要是在应用在基本数据类型和字符串上的赋值有一个value属性是String类型Value(王五) private String name ; Value(20) private int age ;可以在applicationContext.xml文件时引入properties文件来配置集中管理数据context:property-placeholder locationclasspath:config.properties /context:property-placeholderValue(${bean.name}) private String name ; Value(20) private int age ;AutoWired引用类型注入支持byNamebyType。默认情况使用byType自动注入如果要使用byName的方式进行注入则需要用到Qualifier标签进行指定id且一般情况下更推荐AutoWired用于构造方法Autowired public Student(Qualifier(tea) Teacher teacher,Value(小芳) String name) { this.teacher teacher; this.name name; }这里面的情况下需要把Qualifier放在参数列表中Resource是由jdk提供的注解并且在较高版本的jdk已经将他移除标准库了也是自动注入处理但是默认是byName如果说ByName失败就自动转为ByType区别AutoWired默认情况下是按类型装配要求依赖对象必须存在不存在则出现空指针异常但是可以通过属性requiredfalse则可以为空。如果需要byName装配则结合Qualifier注解一起使用。Resource默认情况下使用byName装配当找不到名称匹配的bean,再使用byType装配。有一个name属性作为byName装配的名称还有type属性作为byType装配的名称。使用AutoWired做注入时会产生一个警告并建议使用构造方法注入3.多文件配置可以创建多个xml文件比如说有service.xml和repository.xml然后可以在一个汇总的xml文件比如说main.xml文件中通过import标签进行配置然后在容器入口导入总的main.xml的参数就好了!--直接写文件名的引用-- !-- import resourceclasspath:springConfig/applicationContext_dao .xml/import import resourceclasspath:springConfig/applicationContext_service .xml/import-- !--使用通配符的引用-- import resourceclasspath:springConfig/applicationContext_*.xml