文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网页设计经验技巧 → Spring3注释装配的实践方案

Spring3注释装配的实践方案

时间:2011/2/11 11:46:08来源:本站原创作者:佚名我要评论(0)

长久以来国内的众多应用都在使用Spring框架,它为我们带来的好处不言而喻。但问题是Spring2.0以下版本尚未支持注释装配,而企业应用大多分作MVC三层结构,每层Bean的配置渐渐膨胀,直到打开了XML文件,IDE不堪重负崩溃为止,情形实为惊人。后有了Convention over Configuration的软件设计范式,即“约定优于配置”,也作“约定编程”。Ruby and Rails和EJB3也都按此实现,Spring注释也基于此。

 首先,在解答为什么要使用注释装配之前,先看看没有它时配置文件臃肿的样子,如:持久层DAO的Spring配置文件

 Xml代码
<?xml version="1.0" encoding="UTF-8"?> 
<beans ‘略去声明’> 
              
    <bean id="scDbInfoDAO" class="com.data.switching.db.dao.impl.ScDbInfoDAOImpl" 
        parent="sqlMapClientDAO" /> 
                          
    <bean id="scFtpInfoDAO" class="com.data.switching.db.dao.impl.ScFtpInfoDAOImpl" 
        parent="sqlMapClientDAO" /> 
                  
    <bean id="scParmInfoDAO" class="com.data.switching.db.dao.impl.ScParmInfoDAOImpl" 
        parent="sqlMapClientDAO" /> 
                  
    <bean id="scParmTypeDAO" class="com.data.switching.db.dao.impl.ScParmTypeDAOImpl" 
        parent="sqlMapClientDAO" /> 
                  
    <bean id="scRoleDAO" class="com.data.switching.db.dao.impl.ScRoleDAOImpl" 
        parent="sqlMapClientDAO" />    
              
    <bean id="scRoleMenuDAO" class="com.data.switching.db.dao.impl.ScRoleMenuDAOImpl" 
        parent="sqlMapClientDAO" />    
              
    <bean id="scSiteLoadDAO" class="com.data.switching.db.dao.impl.ScSiteLoadDAOImpl" 
        parent="sqlMapClientDAO" />    
              
    <bean id="scSiteStatDAO" class="com.data.switching.db.dao.impl.ScSiteStatDAOImpl" 
        parent="sqlMapClientDAO" />    
 
略去同样999个配置 ... ...  

<?xml version="1.0" encoding="UTF-8"?>
<beans ‘略去声明’>
   
 <bean id="scDbInfoDAO" class="com.data.switching.db.dao.impl.ScDbInfoDAOImpl"
  parent="sqlMapClientDAO" />
      
 <bean id="scFtpInfoDAO" class="com.data.switching.db.dao.impl.ScFtpInfoDAOImpl"
  parent="sqlMapClientDAO" />
    
 <bean id="scParmInfoDAO" class="com.data.switching.db.dao.impl.ScParmInfoDAOImpl"
  parent="sqlMapClientDAO" />
    
 <bean id="scParmTypeDAO" class="com.data.switching.db.dao.impl.ScParmTypeDAOImpl"
  parent="sqlMapClientDAO" />
    
 <bean id="scRoleDAO" class="com.data.switching.db.dao.impl.ScRoleDAOImpl"
  parent="sqlMapClientDAO" /> 
   
 <bean id="scRoleMenuDAO" class="com.data.switching.db.dao.impl.ScRoleMenuDAOImpl"
  parent="sqlMapClientDAO" /> 
   
 <bean id="scSiteLoadDAO" class="com.data.switching.db.dao.impl.ScSiteLoadDAOImpl"
  parent="sqlMapClientDAO" /> 
   
 <bean id="scSiteStatDAO" class="com.data.switching.db.dao.impl.ScSiteStatDAOImpl"
  parent="sqlMapClientDAO" /> 

略去同样999个配置 ... ... 

使用后的情况:

 Xml代码
<?xml version="1.0" encoding="UTF-8"?> 
<beans> 
      
<context:annotation-config /> 
 
<context:component-scan base-package="com.longtop.data.switching.db.dao" 
name-generator="com.seraph.bi.suite.support.core.generator.IBatisDaoBeanNameGenerator" />                  
          
</beans> 

<?xml version="1.0" encoding="UTF-8"?>
<beans>
 
<context:annotation-config />

<context:component-scan base-package="com.longtop.data.switching.db.dao"
name-generator="com.seraph.bi.suite.support.core.generator.IBatisDaoBeanNameGenerator" />    
  
</beans> 
现在大家想必都了解到为什么使用注释配置,两者之间后者很优雅,而这全在于约定优于配置。

 解决方案:

 改造过程是,首先在DAO的实现类中加入@Repository标签,说明这是持久层的服务。另外两层的标签@Service, @Controller,实现类如下:

 Java代码
import org.springframework.stereotype.Repository;  
...  
 
@Repository 
public class ScDbInfoDAOImpl extends SqlMapClientDaoSupport implements ScDbInfoDAO {  
... 

import org.springframework.stereotype.Repository;
...

@Repository
public class ScDbInfoDAOImpl extends SqlMapClientDaoSupport implements ScDbInfoDAO {
... 
在配置文件中加入:

相关视频

    没有数据

相关阅读 Springtomize3支持8.3吗 springtomize3 ios8.3能用吗Springtomize3教程 Springtomize3怎么用spring forword!苹果3月9日春季发布会iphone隐藏桌面分页点方法RespringCacheFix清理iphone注销后产生的垃圾文件springtomize重新自定义的系统设置及功能增强springtomize调色温的问题springtomize2一秒钟变iphone5

文章评论
发表评论

热门文章 Wordpress本地安装教程dx1.5如何设置二级域名

最新文章 hbuilder有哪些快捷键Wordpress本地安装教程 Wordpress本地安装教程expression web 4文档乱码解决方法dz 2.5“收藏本版”关闭小对话框无法关闭解在制作安装软件之前,您必须先将易语言存盘,

人气排行 如何使用multipart/form-data格式上传文件Photoshop PS图层混合模式详解(非常详细)ISAPI_Rewrite3使用教程网站里添加收藏和设为首页代码桌面快捷方式图标不见了C#获取执行程序所在的当前路径的方法详解(XMLHttpRequest)进行跨域请求方法如何用远程桌面连接进行传输文件