https://www.cnblogs.com/larryzeal/p/5799195.html#c4-8
开发一个简单的Spring Boot应用--使用最原始的方式
添加maven插件.之后可以通过指令打包, 直接运行 java -jar target/myproject-0.0.1-SNAPSHOT.jar,在本地跑
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Dependency Management spring-boot指定的各种jar的版本是指定的,如果不想用,可以自己指定.
1.在properties中覆盖一个版本.
<properties>
<spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>
2.在dependency中复写.
注释释义
@EnableAutoConfiguration
用于自动配置。简单的说,它会根据你的pom配置(实际上应该是根据具体的依赖)来判断这是一个什么应用,并创建相应的环境。@EnableAutoConfiguration 会判断出这是一个web应用,所以会创建相应的web环境。
扫包范围 {此注解无扫的功能,是通过 SpringApplication.run(SampleController.class, args) 括号里的class来确认扫哪里的.}
在包 org.springframework.boot.autoconfigure 中主要是注释@Import({EnableAutoConfigurationImportSelector.class})
通过EnableAutoConfigurationImportSelector 所继承的AutoConfigurationImportSelector类中的SpringFactoriesLoader.loadFactoryNames 将spring-boot-autoconfigure.jar包内的 /META-INF/spring.factories中每一个xxxAutoConfiguration文件都加载到容器中
https://blog.csdn.net/zxc123e/article/details/80222967
@ComponentScan
扫包范围为 后面带的路径范围内的类.启动时,同样也会扫SpringApplication.run(SampleController.class, args) 内的类.
https://blog.csdn.net/mapleleafforest/article/details/86623578
注解作用
用于类或接口上主要是指定扫描路径,spring会把指定路径下带有指定注解的类自动装配到bean容器里。会被自动装配的注解包括@Controller、@Service、@Component、@Repository等等。其作用等同于<context:component-scan base-package="com.maple.learn" />配置
@SpringBootApplication
扫包范围 所在包下面所有的注释
等同于一下三个注释之和
- @Configuration(@SpringBootConfiguration点开查看发现里面还是应用了@Configuration)
- @EnableAutoConfiguration
- @ComponentScan
1.@ComponentScan(" ")依赖于@EnableAutoConfiguration启动程序。
2.@SpringBootApplication 扫包范围同级包和当前包。
3.@SpringBootApplication 底层等同于@EnableAutoConfiguration+@ComponentScan。
https://blog.csdn.net/qq_39404626/article/details/83995870