程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> ssh搭建後的簡化,ssh搭建簡化

ssh搭建後的簡化,ssh搭建簡化

編輯:JAVA綜合教程

ssh搭建後的簡化,ssh搭建簡化


ssh搭建後的簡化

  簡單來說就是把applicationcontext.xml這份配置文件裡面的bean都換成了相應的注解,大大的減少了代碼量,提高代碼的可閱讀性

  例子源碼:http://pan.baidu.com/s/1o7R5S8q

  例如:

    平時我們都要在applicationcontext.xml這份配置文件裡面的實例化對象,給對象的屬性注入值啊這些的

    你們是不是覺得這樣寫起來很麻煩呢?

  

  那現在我們就開始教大家如何使用注解,把這一堆煩人的代碼統統去掉吧

  在使用注解之前,我們首先要先在applicationcontext.xml寫上一句話

   <context:component-scan base-package="news"/>
  下面這個標簽的一些相關信息:
<!-- <context:component-scan>:
        有一個use-default-filters屬性,該屬性默認為true,
        這就意味著會掃描指定包下的全部的標有注解的類,並注冊成bean.
        可以發現這種掃描的粒度有點太大,如果你只想掃描指定包下面的Controller,
        該怎麼辦?此時子標簽<context:incluce-filter>就起到了勇武之地。如下所示
        <context:component-scan base-package="news" use-default-filters="false">
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
        如果use-dafault-filters在上面並沒有指定,默認就為true,
        也就意味著你現在加<context:exclude-filter/>跟沒加是一樣的
        所有你要記住,你若想要用到<context:component-scan>的子標簽,
        必須要把use-dafault-filters的值改為false
        當然還有一個是與之相反的而已這裡就不啰嗦了
        上面這一對解釋換成一句話就是:
            Use-dafault-filters=”false”的情況下:<context:exclude-filter>指定的不掃描,<context:include-filter>指定的掃描
    <context:component-scan>的base-package屬性作用:設置要被掃描的包 -->
    
    (本案例不用到,只是用了一個全盤掃描,以上內容只是為了讓大家充分了解它)
    <context:component-scan base-package="news"/>

  好了,現在開始跟大家一個個的注解慢慢分析它的作用吧:

  首先我們來說一下類的注解吧

    實例化一個類對象有四個注解可以用

    @Service

    @Repository

    @Controller

    @Entity

    為了規范,我們一般會這樣寫(當然你不這樣分也沒影響)

    @Service實例化業務邏輯類(也即是我們的ServiceImpl),@Repository實例化數據層類,

    @Controller實例化Action類,@Entity實例化實體類

    對了,別忘了類的注解還有一個很重要的@Scope(value="prototype")

    這個注解的意思是:非單例,也就是說不同的用戶使用的是不同的對象,很有用,若不加這句,那麼大家都訪問同一個對象,很容易炸了的

  類的注解就講到這裡,下面來說下全局變量的注解吧!

  jdk提供的注解:

    @Autowired

    @Qualifier(name="beanId")

    若不寫@Qualifier(name="beanId"),默認按類型匹配相應的bean(建議不寫,這樣會讓代碼閱讀性高點)

  spring提供的注解

    @Resource(name="beanId")

    若不寫(name="beanId"),默認按變量名稱匹配相應的bean(建議不寫,這樣會讓代碼閱讀性高點)

  例如下圖

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved