@SpringBootApplication
@SpringBootApplication 用于建立程序的启动类,开启了Spring的组件扫描和Spring Boot的自动配置功能。实际
上,@SpringBootApplication将三个有用的注解组合在了一起。
- Spring的@Configuration:标明该类使用Spring基于Java的配置,功能相当于一个Spring配置的xml文件。
- Spring的@ComponentScan:启用组件扫描,这样你写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean。(单纯使用@Bean并不能使组件被注册,它只是声明这是个Bean,还要被@ComponentScan扫描才能被注册)
- Spring Boot 的 @EnableAutoConfiguration :启了Spring Boot自动配置,根据应用所声明的依赖(maven)来对 Spring 框架进行自动配置。
在Spring Boot的早期版本中,你需要在启动类上同时标上这三个注 解,但从Spring
Boot 1.2.0开始,有@SpringBootApplication就行了。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration( classes =XXX.class)****
这两个注解配合使用,用来建立测试类。不过在1.4版本后,这两个注解被替换为了
@RunWith(SpringRunner.class)
@SpringBootTest
其中SpringRunner其实是SpringJUnit4ClassRunner的继承类,不过功能上没什么变化,1.4版本后 @SpringApplicationConfiguration甚至已经不能使用了
@Deprecated
若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
或许有人会问 为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?
因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了