SpringBoot知识点

Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法, 这个 main 方法其实就是一个标准的 Javay 应用的入口方法。

@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration、@EnableAutoConfiguration、@ComponentScan; 若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。

  • @Configuration 用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContextAnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。

    注意:@Configuration注解的配置类有如下要求:

    1. @Configuration不可以是final类型;
    2. @Configuration不可以是匿名类;
    3. 嵌套的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。
  • @ConfigurationProperties(prefix = "student"):表示获取前缀为 sutdent 的配置信息
  1. @Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量

  2. 用 @Value(“${xxxx}”)注解从配置文件读取值的用法

原文地址:https://www.cnblogs.com/xuzhongyin/p/12067681.html