spring 常用註解解釋 持續更新

@Repository  : 數據訪問組件  也就是DAO層 用於操作數據庫

@Autowired   : 可以對類成員變量,方法以及構造函數進行標註,完成自動壯派的工作,通過@Autowired的使用來消除get.set方法

@SpringBootApplication : 用在main方法之上,相當於@Configuration,@EnableAutoConfiguration,@ComponentScan 的組合,

@Configuration : 表示將該類左衛springboot配置文件類

@EnableAutoConfiguration : 表示程序啓動的時候,自動加載springboot默認的配置

@ComponentScan : 表示程序啓動的時候,自動掃描當前包以及子包所有的類,除了@Mapper都可以使用。掃描多個,同@MapperScan

@MapperScan:掃描標註有@Mapper的註解 掃描多個可以使用{},比如

@MapperScan({"com.bdaim.*.dao","com.bdaim.platform.modules.sys.dao"})

@EnableTransactionManagement   : //啓用實物,要在對應方法之上加@Transactional

@Transactional  : 實質上是使用了JDBC的事物進行事務管理,是基於Spring的動態代理機制;必須放在public之上

@Component   :  放在DAO類之上,將該類納入到spring管理容器當中

@Before  :  ("execution(* springboot ..*.*(..))")    //執行springboot下的子包以及子子包的方法,在方法執行前調用

@Pointcut  : ("execution(* *.perform(..))")   //定義切點,標記方法

@AfterReturning   :  ("performance()")   //切點執行成功之後執行  

@AfterThrowing   : ("performance()")    //切點拋出異常後執行   

@Service  :  用於業務邏輯層

@Controller : 表現層,也叫控制器,註解的bean會被spring-mvc框架所使用

@RunWith : 可以理解爲測試運行器,例如@RunWith(JUnit4.class)就是指用JUnit4來運行

@SpringBootTest : 單元測試

@MockBean : 用於單元測試,可以將一個不存在的實力作爲對象去測試代碼的正確性 舉例:

@RunWith(SpringRunner.class)
public class UserTest {
    @MockBean
    private UserMapper userMapper;

    @Test
    public void testCreateUser() {
        BDDMockito.given(userMapper.createUser("admin")).willReturn(
                Integer.valueOf(1));
        BDDMockito.given(userMapper.createUser("")).willReturn(
                Integer.valueOf(0));
        BDDMockito.given(userMapper.createUser(null)).willThrow(
                NullPointerException.class);

        Assert.assertEquals(Integer.valueOf(1), userMapper.createUser("admin"));
        //Assert.assertEquals(Integer.valueOf(0), userMapper.createUser(""));
        //Assert.assertEquals(Integer.valueOf(0), userMapper.createUser(null));
    }

}

 

PostConstruct 註釋用於在依賴關係注入完成之後需要執行的方法上,以執行任何初始化。此方法必須在將類放入服務之前調用。支持依賴關係注入的所有類都必須支持此註釋。即使類沒有請求注入任何資源,用 PostConstruct 註釋的方法也必須被調用。只有一個方法可以用此註釋進行註釋。應用 PostConstruct 註釋的方法必須遵守以下所有標準:該方法不得有任何參數,除非是在 EJB 攔截器 (interceptor) 的情況下,根據 EJB 規範的定義,在這種情況下它將帶有一個 InvocationContext 對象 ;該方法的返回類型必須爲 void;該方法不得拋出已檢查異常;應用 PostConstruct 的方法可以是 public、protected、package private 或 private;除了應用程序客戶端之外,該方法不能是 static;該方法可以是 final;如果該方法拋出未檢查異常,那麼不得將類放入服務中,除非是能夠處理異常並可從中恢復的 EJB。

1.@PostConstruct說明

     被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,並且只會被服務器調用一次,類似於Serclet的inti()方法。被@PostConstruct修飾的方法會在構造函數之後,init()方法之前運行。

2.@PreConstruct說明

     被@PreConstruct修飾的方法會在服務器卸載Servlet的時候運行,並且只會被服務器調用一次,類似於Servlet的destroy()方法。被@PreConstruct修飾的方法會在destroy()方法之後運行,在Servlet被徹底卸載之前。(詳見下面的程序實踐)

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