@SpringBootApplication:
包含@Configuration、@EnableAutoConfiguration、@ComponentScan
一般用在主類上。因爲大量項目都會在主要的配置類上添加@Configuration,@EnableAutoConfiguration,@ComponentScan
三個註解。spring
所以Spring Boot提供了@SpringBootApplication
註解,該註解能夠替代上面三個註解(使用Spring註解繼承實現)。數據庫
@Repository:
用於標註數據訪問組件,即DAO組件。json
@Service:
用於標註業務層組件。app
@RestController:
用於標註控制層組件(如struts中的action),包含@Controller和@ResponseBody。框架
@ResponseBody:
表示該方法的返回結果直接寫入HTTP response body中
通常在異步獲取數據時使用,在使用@RequestMapping後,返回值一般解析爲跳轉路徑,加上
@responsebody後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP response body中。好比
異步獲取json數據,加上@responsebody後,會直接返回json數據。異步
@Component:
泛指組件,當組件很差歸類的時候,咱們能夠使用這個註解進行標註。函數
@ComponentScan:
組件掃描。我的理解至關於<context:component-scan>,若是掃描到有@Component
@Controller@Service等這些註解的類,則把這些類註冊爲bean。ui
@Configuration:
指出該類是 Bean 配置的信息源,至關於XML中的<beans></beans>,通常加在主類上。code
@Bean:
至關於XML中的<bean></bean>,放在方法的上面,而不是類,意思是產生一個bean,並交給spring管理。
component
@EnableAutoConfiguration:
讓 Spring Boot 根據應用所聲明的依賴來對 Spring 框架進行自動配置,通常加在主類上。其做用:Spring Boot會自動根據你jar包的依賴來自動配置項目。例如當你項目下面有HSQLDB
的依賴時,Spring Boot會建立默認的內存數據庫的數據源DataSource
,若是你本身建立了DataSource
,Spring Boot就不會建立默認的DataSource
。
@AutoWired:
byType方式。把配置好的Bean拿來用,完成屬性、方法的組裝,它能夠對類成員變量、方法及構
造函數進行標註,完成自動裝配的工做。
當加上(required=false)時,就算找不到bean也不報錯。
@Qualifier:當有多個同一類型的Bean時,能夠用@Qualifier("name")來指定。與@Autowired配合使用@Resource(name="name",type="type"):沒有括號內內容的話,默認byName。與@Autowired幹相似的事。