Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法, 这个 main 方法其实就是一个标准的 Javay 应用的入口方法。
@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration、@EnableAutoConfiguration、@ComponentScan; 若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。
- @Configuration 用于定义配置类,可替换
xml
配置文件,被注解的类内部包含有一个或多个被@Bean
注解的方法,这些方法将会被AnnotationConfigApplicationContext
或AnnotationConfigWebApplicationContext
类进行扫描,并用于构建bean
定义,初始化Spring
容器。注意:
@Configuration
注解的配置类有如下要求:- @Configuration不可以是
final
类型; - @Configuration不可以是匿名类;
- 嵌套的configuration必须是静态类。
- @Configuration不可以是
- @EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置。例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。
- @ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中
@Component 和 @ComponentScan的使用目的不一样:
在某个类上使用@Component注解,表明当需要创建类时,这个被注解的类是一个候选类。就像是有同学在举手。
@ComponentScan 用于扫描指定包下的类。就像看都有哪些举手了。
Spring是一个依赖注入(dependency injection)框架。所有的内容都是关于bean的定义及其依赖关系。
定义Spring Beans的第一步是使用正确的注解@Component或@Service或@Repository.
ComponentScan做的事情就是告诉Spring从哪里找到bean
但是,Spring不知道你定义了某个bean除非它知道从哪里可以找到这个bean.
原文链接:https://blog.csdn.net/qq_38129062/article/details/89574323
- Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就配置在 grounpID + arctifactID 组合的包名下(这里为 cn.wmyskxz.springboot 包)
- @Component:表明当前类是一个 Java Bean
- @Autowired :启动类时,就加载且赋值此注解下的内容,比如
@Autowired
private SqlSessionTemplate template
就是加载类时自动创建SqlSessionTemplate对象template
- @RestController:= @Controller + @ResponseBody组成,等号右边两位同志简单介绍两句,就明白我们@RestController的意义了:
- https://www.jianshu.com/p/6bbb5748ac83
- @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用
- @ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,本人尝试了一下,如果返回的是String类型,则仍然是String。
- https://www.jianshu.com/p/6bbb5748ac83
- @ConfigurationProperties(prefix = "student"):表示获取前缀为 sutdent 的配置信息
-
@Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
-
用 @Value(“${xxxx}”)注解从配置文件读取值的用法