spring學習(二)——註解

近期看github上Java項目接觸到多種註解,這裏對其使用場景作簡單的整理java

問題:git

1. 爲何要用註解?不用註解是否能夠實現?github

2. 註解的組成?spring

註解相似一個接口json

註解能夠定義可指定的屬性app

3. 如何自定義註解?框架

4. java spring框架中有哪些已有的註解?單元測試

註解  使用場景 備註
@Configuration 相似於xml中<beans>標籤  
@Bean 相似於xml中<bean>標籤 常與@Configuration配合使用 
@ComponentScan 可指定掃描類的範圍 @ComponentScan(basePackages="org.jc" )  
@Component    
@Resource 屬於javax.annotation.Resource,默認按name注入,可指定按name或type注入。若是同時指定了name和type,則從Spring上下文中找到惟一匹配的bean進行裝配,找不到則拋出異常。  
@Autowired  是spring提供的註解,告知spring容器某個屬性須要自動注入,按type注入 能夠結合@Qualifier按name注入  
@Injected 與Autowired相似   
@Import    
@Profile 指定運行環境,如 @Profile("local")  
@Value 注入靜態變量,如 @Value("${my.name}")  
@Repository 數據訪問組件,一個容器類,可能是數據源配置  
@Service 自定義服務,默認自動加載到spring容器  
@Controller 控制層組件  
@RequestMapping 用於映射請求,指定處理哪一個或哪類url的請求;可做用於類 和 方法,如@RequestMapping(value = "/mylink", method = RequestMethod.GET)  
@RequestBody    
@RequestParam    
@ResponseBody  能夠根據請求方的返回格式的要求,返回json或xml格式,不單單返回string  
@EnableScheduling    
@Scheduled   定時任務
@Transaction   事務
@Thrift    
@SpringBootAplication    
@Test 單元測試,用於修復方法   
@SpringBootTest 是多個註解的組合 @Configuration@EnableAutoConfiguration@ComponentScan  
@RunWith 用於單元測試,如@RunWith(SpringJUnit4ClassRunner.class)  
@ApplicationPath    
@ContextConfiguration 如@ContextConfiguration(locations = { "org.springframework.amqp.rabbit.log4j.config.server" }, loader = AnnotationConfigContextLoader.class)  
@RabbitListner    
@RabbitHandler
相關文章
相關標籤/搜索