1. 默认扫描@SpringBootApplication
用springboot 的时候有一个默认的basepackage,在用springmvc时我们是在xml文件里用component scan去扫描包的,现在的默认的包是在启动类上面的包。
在spring官方的说明中是这样说的:
我们通常建议您将主应用程序类放在其他类之上的根包中。该@SpringBootApplication注解往往放在你的主类,它隐含地定义为某些项目一基地“搜索包”。例如,如果您正在编写JPA应用程序,@SpringBootApplication则使用带注释的类的包搜索@Entity项目。使用根软件包还允许组件扫描仅应用于您的项目。
意思就是说主启动类是要放在其他被扫描包的上层。而@SpringBootApplication注解基本上都是放在主类上。主启动类其实就相当于以前的Tomcat的启动了。
2. @Bean
这里是转载自一个博主的文章,我觉得写的很清晰明了:传送门
2.1 @Bean的含义
简单的来说,
1、Bean就是类的代理或代言人,凡是子类及带有方法或属性的类都要加上注解Bean到Spring IoC的注解,交给spring来管理。
2、@Bean 用在方法上面,告诉Spring容器,你可以从下面这个方法中拿到一个Bean。