Java註釋的使用

《Java註釋的使用》 author:heguikun 2010-11-9
1.@Resource
使用@Resource後免去了xml的代碼,和類的get()  set()方法
如下:
-----在Action中寫法
import javax.annotation.Resource;//導入
public class PetAction extends DispatchAction {
 @Resource  private  AllBiz allBiz=null;//找到合適類型注入
public ActionForward doCheckUserExists(ActionMapping mapping,ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException {
   String petName = request.getParameter("petName");//存在隱藏表單中
   List list=allBiz.query("from  PetInfo where petName='"+petName+"'");
   System.out.println(list.size());
return null;
}
-----對於的Sping配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 <context:annotation-config /><!--表示打開註解-->
<bean name="/Petdiary" class="com.yourcompany.struts.action.DiaryAction"/><!--他根據這個Action找@Resourc-->
----以上就可以完成裝配
如果想在xml中省去不寫<bean name="/Petdiary" class="com.yourcompany.struts.action.DiaryAction"/>
請在這個類前加 :@Controller("/Petdiary")   //表示這個類交個Spring管理import org.springframework.stereotype.Controller;
如果在某個類前加上:@Repository("別名") 這個類不需要在xml 出現,Spring也會自己找到並實例化
給需要該對象的類<context:component-scan base-package="com"/>//要在Xml中寫這句話,叫它Spring掃描找到@Repository()
 如下:
@Repository("allBiz")
public class AllBizImpl extends HibernateDaoSupport implements AllBiz {
}
xml中就不用出現<bean id="allBiz" class="com.aptech.jb.epet.biz.Impl.AllBizImpl"/>
 但是@Repository("allBiz") 要和 @Resource  等配合使用,要麼就不成功
2.
// @Autowired() @Qualifier("allBiz") 配合 跟 @Resource 效果一樣 ,required=false意思是空也不拋出異常
                @Autowired(required=false)
   @Qualifier("allBiz")
   private  AllBiz allBiz;//get()set()方法都不用寫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章