Spring經常使用的註解及做用

1、註解相關

常見的註解:spring

  • 一、@controller 控制器(注入服務)
  • 二、@service 服務(注入dao)
  • 三、@repository dao(實現dao訪問)
  • 四、@component (把普通pojo實例化到spring容器中,至關於配置文件中的<bean id="" class=""/>)

@Component,@Service,@Controller,@Repository註解的類,並把這些類歸入進spring容器中管理。 編程

下面寫這個是引入component的掃描組件 框架

<context:component-scan base-package=」com.mmnc」>    

其中base-package爲須要掃描的包(含全部子包)工具

  • 一、@Service用於標註業務層組件 
  • 二、@Controller用於標註控制層組件(如struts中的action) 
  • 三、@Repository用於標註數據訪問組件,即DAO組件. 
  • 四、@Component泛指組件,當組件很差歸類的時候,咱們可使用這個註解進行標註。  
@Service 
public class UserServiceImpl implements UserService {
} 
@Repository
public class UserDaoImpl implements UserDao {
}

getBean的默認名稱是類名(頭字母小寫),若是想自定義,能夠     @Service(「*」) 
這樣來指定,這種bean默認是單例的,若是想改變,可使用@Service(「beanName」) 
@Scope(「prototype」)來改變。可使用如下方式指定初始化方法和銷燬方法(方法名任意): @PostConstruct public void init() { } 單元測試

2、Springboot測試相關

SpringBoot未編寫完代碼的狀況下可否先用main方法測試Repository類?測試

一、不能夠,由於SpringBoot使用啓動類啓動的,若是使用main方法,啓動類未啓動就沒法得到註解,也就沒法得到對象實例等
二、但能夠用JUnit(Java語言的單元測試框架)來測:
多數Java的開發環境都已經集成了JUnit做爲單元測試的工具prototype

極限編程:
要求在編寫代碼以前先寫測試,這樣能夠強制你在寫代碼以前好好的思考代碼(方法)的功能和邏輯,不然編寫的代碼很不穩定,那麼你須要同時維護測試代碼和實際代碼,這個工做量就會大大增長。所以在極限編程中,基本過程是這樣的:構思-> 編寫測試代碼-> 編寫代碼-> 測試,並且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫之後的代碼中若是發現問題能夠較快的追蹤到問題的緣由,減少迴歸錯誤的糾錯難度。code

相關文章
相關標籤/搜索