SSH全註解式開發

第一步:引入註解的jar包 struts2-convention-plugin-2.3.16.3.jar

struts2的註解

Struts2:替換掉struts.xml文件

在Action類的上面放上:

替換掉struts.xml裏面的namespace: @Namespace("") 例如:namespace: @Namespace("/test")

在namespace下面放上@ParentPackage("struts-default") 指定父包

在程序要執行的方法上或者execute()方法上放上@Action(value="這裏面放的是之前struts.xml的action的name值,也是請求對應的頁面地址action裏面的值")

案例:@Action(value="query",results={@Result(name="success",type="Dispatcher",location="/welcome.jsp")})

如果返回值是success 則result裏面的name可以不寫,如果跳轉是Dispatcher ,可以不寫type,如果有參數要傳遞,可以加param

Spring的註解:

Action、service、dao三層 在spring.xml配置的bean都可以不要了

關於事務的也可以刪掉,但不可以刪掉事務管理器

然後在下面添加

<!--組件掃描器 actionservicedao裏面對象的注入到依賴掃描器-->

 

<context:component-scanbase-package="com.bjpowernode.*"></context:component-scan>

    <!--事務註解驅動 -->

    <tx:annotation-driventransaction-manager="transactionManager"/>

開始深入到dao、service、action類裏面去寫spring的註解

Dao層:(直接在實現類上寫,接口上不寫)

    在class上放上@Repository(" ")

例如:@Repository("studentDao")

    給class的域屬性添加@Aurowired自動注入 這裏一般都是注入sessionFactory

例如:@Autowired

    private SessionFactorysessionFactory;

service

    Spring IOC部分

    class上放上@Service("")

例如:@Service("studentService")

    class的域屬性上放上注入註解標籤

    @Resource

    @Autowired

    這兩種都可以,

Action層:

    action類的上面放上@Component表示它是spring的組件

    class的域屬性上放上@Autowiredspring通過type來自動注入

注意:如果在注入域屬性的時候使用byName的方式

    則寫法應該這樣寫

    @Autowired

    @Qualifier("studentService")//byName方式自動注入

    private IStudentServiceservice;

    這裏引號裏面放的是所要引入域屬性類的註解裏面的名字。

Spring事務的註解(加在service)

    在新增、修改、刪除的方法上放上 @Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED)註解標籤。

    isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED時,表示都是默認值,括號裏面也可以不寫。即@Transactional()

    刪除的方法需要加一個readOnly=true,如下

    @Transactional(readOnly=true)//加上它效率會更高

Hibernate的註解

    替換的是映射文件 .hbm.xml,因此刪掉.hbm.xml文件

    在實體類的上面放上@Entity表示此類是實體類

    注意:如果table默認和類名一樣,則table標籤可以不寫

    id上放上

@Id

    @GeneratedValue(generator="xxx")//使用hibernate內置的生成策略

    @GenericGenerator(name="xxx",strategy="native")//生成器

    指定生成策略和生成器

    至此Springstruts2hibernate的註解就配置完了,剩下來的就是要改某一些地方,

     spring.xml中將 <property name="mappingDirectoryLocations" value="classpath:com/bjpowernode/beans"/>

    改成 <property name="packagesToScan" value="com.bjpowernode.beans"/>

    至此SSH的註解式就全部改完了。

    附上案例地址:

    鏈接:http://pan.baidu.com/s/1o8DgTuE 密碼:qnpj 這個demo使用 的jdk是1.7的 tomcat是6.0的

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