javascript
Spring Boot文档阅读笔记-@SpringBootApplication官方解析与实例(1.5.19)
目錄
?
?
官方解析
博主例子
?
官方解析
@SpringBootApplication有如下3個特點:
1. @EnableAutoConfiguration: 能夠啟動Spring Boot的自動配置機制;
2. @ComponentScan: 能夠在spring應用程序跑的那個包的位置上,掃描到其他的組建;
3. @Configuration: 允許在上下文中注冊而外的beans,并且導入額外的配置文件;
@SpringBootApplication等于同時使用@Configuration, @EnableAutoConfiguration,@ComponentScan
package com.example.myproject;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}@SpringBootApplication還提供了自定義@EnableAutoConfiguration和@ComponentScan注解的別名。
?
可以使用下面的例子來替代@SpringBootApplication。
package com.example.myproject;import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import;@Configuration @EnableAutoConfiguration @Import({ MyConfig.class, MyAnotherConfig.class }) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}在這個示例中,應用程序與任何其他Spring引導應用程序一樣,但沒有自動檢測到@component注釋的類,并且顯式地導入了用戶定義的bean(參見@Import)。
?
博主例子
這里以Spring Boot?1.5.19為例:
程序結構如下:
源碼如下:
HelloController.java
package com.IT1995.demo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@Controller public class HelloController {@ResponseBody@RequestMapping("/hello")public String hello(){return "Hello World!";} }DemoApplication.java
package com.IT1995.demo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}程序運行截圖如下:
當把@SpringBootApplication改為@EnableAutoConfiguration、@ComponentScan、@Configuration
后,如下圖:
同樣可以跑的,并且沒有報錯,運行截圖如下:
下面來演示下這個特點:
@ComponentScan: 能夠在spring應用程序跑的那個包的位置上,掃描到其他的組建;
正確的包結構如下:
當包結構是這樣的時候,@SpringBootApplication就掃描不到!
@Controller等注解了!
如下:
?
?
?
?
總結
以上是生活随笔為你收集整理的Spring Boot文档阅读笔记-@SpringBootApplication官方解析与实例(1.5.19)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OllyDbg笔记-软件逆向调试技巧
- 下一篇: Java文档阅读笔记-JPA Tutor