当前位置:编程学习 > JAVA >>

java学习笔记2 - Spring Autowired之批量用法

写批量用法之前先写个单个用法的例子作为对比,如下一段代码:
1.bean文件配置:
[html] www.zzzyk.com
<bean id="userDao" class="..."/>  
<bean id="userService" class="...">  
    <property name="userDao">  
      <ref bean="userDao"/>  
    </property>  
</bean>  
2.Java代码
[java]  
@Autowired  
private UserDao userdao;  
这样就可以调用UserDao里的方法了
 
因为dao和service在一个项目中会有多个,这就要写很多个类似的配置,下面以service为例说下如何实现批量自动装载,我们假设所有service文件放在com.test.biz下
1.目录结构
 
2.bean文件配置
[html]  
<?xml version="1.0" encoding="UTF-8" ?>  
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xmlns="http://www.springframework.org/schema/beans"  
       xmlns:context="http://www.springframework.org/schema/context"  
       xmlns:p="http://www.springframework.org/schema/p"  
       xsi:schemaLocation="  
        http://www.springframework.org/schema/beans http://localhost:8080/schema/www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/context http://localhost:8080/schema/www.springframework.org/schema/context/spring-context.xsd  
    "  
       default-autowire="byName"> ①  
  
    <context:component-scan base-package="com.test.biz.impl"> ②  
        <context:include-filter type="regex" expression=".*Impl" /> ③  
    </context:component-scan>  
  
</beans>  
 
①设置自动装载为按名称
②扫描的包
③配置的文件
3. User.java
[java]  
package com.test.biz;  
  
public interface User {  
    String getName();  
}  
 
4. UserImpl.java
[java]  
package com.test.biz.impl;  
  
import com.test.biz.User;  
public class UserImpl implements User{  
    private String name = "aaa";  
    public String getName(){  
        return this.name;  
    }  
}  
 
 
5. Java中使用
[java] 
@Autowired  
private User user;  
 
6.这样就完成了,以后如果有新的service只要在biz目录里写server文件即可,不需要再配置bean文件了,方便吧~
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,