1. 程式人生 > 遊戲 >《質量效應:傳奇版》Mod新工具 恢復福利玩家興奮

《質量效應:傳奇版》Mod新工具 恢復福利玩家興奮

------------恢復內容開始------------

@Configuration 1、配置類裡面使用@Bean標註在方法上給容器註冊元件,預設也是單例項的 2、配置類本身也是元件 3、proxyBeanMethods:代理bean的方法      * Full(proxyBeanMethods = true)、【保證每個@Bean方法被呼叫多少次返回的元件都是單例項的】      * Lite(proxyBeanMethods = false)【每個@Bean方法被呼叫多少次返回的元件都是新建立的】        * 元件依賴必須使用Full模式預設。其他預設是否Lite模式
@Bean、@Component{   @Bean是一個方法級別上的註解,主要用在@Configuration註解的類裡,     也可以用在@Component註解的類裡。新增的bean的id為方法名 } 、@Controller{ 檢視層   @Controller用於標記在一個類上,使用它標記的類就是一個SpringMvc Controller物件,   分發處理器會掃描使用該註解的類的方法,並檢測該方法是否使用了@RequestMapping註解。
  @Controller只是定義了一個控制器類,而使用@RequestMapping註解的方法才是處理請求的處理器。
  @Controller標記在一個類上還不能真正意義上說它就是SpringMvc的控制器,
    應為這個時候Spring還不認識它,這個時候需要把這個控制器交給Spring來管理。 }@Service{   此注註解屬於業務邏輯層,service或者manager層
  預設按照名稱進行裝配,如果名稱可以通過name屬性指定,如果沒有name屬性,註解寫在欄位上時,
  預設去欄位名進行查詢,如果註解寫在setter方法上,預設按照方法屬性名稱進行裝配。   當找不到匹配的bean時,才按照型別進行裝配,如果name名稱一旦指定就會按照名稱進行裝配 }、@Repository{    持久層   @Repository(value="userDao")   通常寫在Dao介面上
    (value="userDao")告訴Spring ,讓Spring建立一個名字叫做"userDao"的例項   @Repository註解是Spring的註解,把類註冊成一個bean。使用了此註解在mapper上後,     需要在主啟動類新增@MapperScan才能編譯之後會生成相應的介面實現類。   @Repository是spring註解需要和@MapperScan配合使用。 }

@ComponentScan、{

  @ComponentScan是元件掃描註解,用來掃描@Controller @Service @Repository這類,

    主要就是定義掃描的路徑從中找出標誌了需要裝配的類到Spring容器中

}

@Mapper{

作用:用在介面類上,在編譯之後會生成相應的介面實現類,是mybatis的註解。
位置:對應的某個介面類上面
如果想要每個介面都要變成實現類,那麼需要在每個介面類上加上@Mapper註解,比較麻煩,解決這個問題用 @MapperScan

@Mapper 是對單個類的註解。是單個操作。

}  

@MapperScan{

    掃描mapper類的註解,就不用在每個mapper類上加@Mapper了  

    @MapperScan 是對整個包下的所有的介面類的註解。是批量的操作。

}

@Import{

    @Import({User.class, DBHelper.class})

       * 給容器中自動創建出這兩個型別的元件、預設元件的名字就是全類名

         如果只是單純建立一個簡單的無參元件 可以直接使用@import 

}

@Resource{
  注入
  @Resource預設按照ByName自動注入,由J2EE提供,
    需要匯入包javax.annotation.Resource。@Resource有兩個重要的屬性:name和type,
    而Spring將@Resource註解的name屬性解析為bean的名字,而type屬性則解析為bean的型別。
    所以,如果使用name屬性,則使用byName的自動注入策略,而使用type屬性時則使用byType自動注入策略
    。如果既不制定name也不制定type屬性,這時將通過反射機制使用byName自動注入策略。
      

  @Resource裝配順序:

  ①如果同時指定了name和type,則從Spring上下文中找到唯一匹配的bean進行裝配,找不到則丟擲異常。

  ②如果指定了name,則從上下文中查詢名稱(id)匹配的bean進行裝配,找不到則丟擲異常。

  ③如果指定了type,則從上下文中找到類似匹配的唯一bean進行裝配,找不到或是找到多個,都會丟擲異常。

  ④如果既沒有指定name,又沒有指定type,則自動按照byName方式進行裝配;如果沒有匹配,

    則回退為一個原始型別進行匹配,如果匹配則自動裝配。


}

@Autowired{
  注入
    @Autowired為Spring提供的註解,需要匯入包org.springframework.beans.factory.annotation.Autowired;
      只按照byType注入。
  一般配合@Repository使用
    @Autowired註解是按照型別(byType)裝配依賴物件,預設情況下它要求依賴物件必須存在,如果允許null值,
    可以設定它的required屬性為false。如果我們想使用按照名稱(byName)來裝配,可以結合@Qualifier註解一起使用。
@Repository
public interface USerDao extends BaseDao<AppealInfo>{
  ...
}
public class TestServiceImpl {
@Autowired @Qualifier("userDao") private UserDao userDao; }

@RequestMapping(path="/login",method=RequestMethod.POST,params={"username=kolbe","password=123456"}){
 

    value:指定請求的實際地址,指定的地址可以是URI Template模式。
    method:指定請求的method型別,GET、POST、PUT、DELETE等。
    consumes:指定處理請求的提交內容型別(Content-Type),例如application/json、application/xml、text/html等。
    produces:指定返回的內容型別,僅當request請求頭中的(Accept)型別中包含該指定型別才返回。
    params:指定request中必須包含某些引數值才讓該方法處理。
    headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求

}
@ResponseBody{
  @ResponseBody的作用其實是將java物件轉為json格式的資料。
}
@RestController{
//
//@ResponseBody
//@Controller

//@RestController是上面兩個註解的合體

}