所谓的注入到底啥意思?

其实就是spring内部的import

和python里面的import numpy差不多的效果.

依赖注入:

扯白了就是你自己写的对象,需要被spring兼容.

先说说所谓的自动装配是啥意思?

Spring是一辆大卡车.

货物是自定义的一堆类,

类在被装上卡车前,需要配置(例如几个箱子整齐叠在一起),这个也就是配置类发挥的作用,

所谓的配置类就是class的定义中带有@Configuration的就是配置类

配置完了之后需要在spring导入(也就是所谓的依赖注入),也就用到了@Autowired.

由于Spring可以随手一指(用@Autowired来注入一个瞎编的名字的bean),

并不一定非要是@Configuration所在类中,用@bean注册过的函数,

所以出来了@Primary,哪个函数被@Primary标记过?

那么当@SpringBootApplication所在类的@Autowired想要乱注入的时候,

哪个函数头上有@Primary,就注入这个函数.

所以,根据这个图示,我们其实可以把一个spring实验分成三大类:

①配置类

②启动类

③货物类

#--------------------------------------------------------------------------------------------------------

被@Bean注解的方法会被Spring重写(重写就是装配的意思)

#--------------------------------------------------------------------------------------------------------

@Service和@Component有啥区别呢?

看了下@Service的源码

package org.springframework.stereotype;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Service {@AliasFor(annotation = Component.class)String value() default "";
}

目前暂且认为这两个可以互相替换

注解 可替换注解
@Inject @Autowired
@Named @Component
@Component @Service

#--------------------------------------------------------------------------------------------------------

注解 大致用法 作用
@GetMapping 完整用法示例 路由函数
@PathVariable

完整用法示例

接收http请求中变量的值
@SpringBootApplication 完整用法示例 这个类中包含main
@RestController 完整用法示例

等效於

@ResponseBody + @Controller

@ComponentScan  第4章-SpringBoot的注解/4.1/spring-ants/src/main/java/scan/ScanApp.java

会自动掃描

@Controller

@Service

@Repository

@Component

@Configuration

一般是被包含在

@SpringBootApplication中

如果web应用采用了@SpringBootConfiguration

那么此时就需要采用@ComponentScan 

@Primary 第4章-SpringBoot的注解/4.1/spring-ants/src/main/java/primary/PrimaryConfig.java

在配置类中有@Primary以后.

main类中的注入可以随便乱写名字,

实际注入的以@Primary附属的函数为准.

@Scope @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)每次返回不同的对象(非单态)
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)每次返回同一个人对象(单态)

①非单态的bean每一次返回的是一个新的实例
②单态的bean每次返回的是同一个实例
③如果在一个单态的bean里面注入一个非单态的bean,

则这个单态bean所维护的非单态bean实例,将不会被刷新。

@Configuration    
@Component    
@ConfigurationProperties    
@Autowired   想要在一个bean中使用另一个 bean , 则可以直接在使用者一端,将被调用 者的 实例注入
@WebListener    
@WebServlet    
@Qualifier 4.2/ants-adv/src/main/java/qlf/ 通过bean的类名进行注入

还加入了 ServletComponentScan
注解,这个注解主要用于扫描源码包中的 Serviet 组件,包括使用@Web Servlet 、@WebFilter
和@WebListener 进行修饰的类。

测试类使用:

注解 作用
@RunWith  
@SpringBootTest  
@AutoConfigureMockMvc mock相关的自动配置

Feign注解

注解 作用
@RequestLine 发送http请求
@Param 接收参数

AOP注解

注解 作用
@Aspect 修饰代理类
@Before

设置通知

业务方法调用前执行 before 方法

@After

设置通知

业务方法调用后执行After方法

\

Reference:

[1]@Controller和@RestController的区别?

[2]何为Spring中的配置类?

[13]Spring中可以相互替换的注解

--------------------------下面是没看的-------------------------------------------

[3]使用spring配置类代替xml配置文件注册bean类

[4]简单讲讲@SpringBootApplication

[5]@SpringBootApplication的使用

[6]使用spring配置类代替xml配置文件注册bean类

[7]Spring常用注解汇总

[8]SpringBoot常用注解思维导图

[9]Spring中的常见注解

[10]Spring常用注解

[11]Spring框架常用注解

[12]Spring系列之Spring常用注解总结

[13]SpringBoot常用注解思维导图

spring的各种注解的作用-持续更新中相关推荐

  1. 大数据组件的各种协议与作用(持续更新中)

    协议 作用 spark:// spark的standalone模式 hdfs:// 分布式文件集群 hiveserver2 beeline连接的前提 thrift/thrift2 python连接hb ...

  2. 【Spring Boot官方文档原文理解翻译-持续更新中】

    [Spring Boot官方文档原文理解翻译-持续更新中] 文章目录 [Spring Boot官方文档原文理解翻译-持续更新中] Chapter 4. Getting Started 4.1. Int ...

  3. Linux常见命令作用(持续更新中,欢迎提议支持)

    Linux常见命令作用(持续更新中,欢迎提议支持) 1.ifconfig 查看ip地址 2.cd 切换工作目录(跳转路径) cd 路径 切换至工作目录"路径" 下同,指令后面都可附 ...

  4. 【Vue】基础(三)条件渲染 - 列表渲染(key的作用与原理虚拟DOM解析) - 收集表单数据 - 持续更新中

    目录 11. 条件渲染 11.1 v-if 11.2 v-show 12. 列表渲染 12.1 v-for(基本列表使用) 12.2 key的作用与原理 真实DOM和其解析流程 虚拟 DOM 的好处 ...

  5. JAVA面试大全(持续更新中...)

    本文旨在收集Java面试过程中出现的问题,力求全面,仅作学习交流,欢迎补充,持续更新中-,部分段落选取自网上,部分引用文章已标注,部分已记不清了,如侵权,联系本人 Java基础 1.面向对象的概述 面 ...

  6. 面试JAVA常被问到的问题(持续更新中)

    引言 有的面试会被问到有没有写博客,这时候我尴尬,不知道怎么回答,所以这篇文章仅仅是把我面试JAVA的遇到的问题记录下来而已,也算是我写博客迈出的第一步,起码,以后被问到:有没有写博客?我可以回答,我 ...

  7. 面试1:Java、微服务、架构常见面试题(持续更新中)

    Java.微服务.架构常见面试题(持续更新中) 文章目录 Java.微服务.架构常见面试题(持续更新中) ==**Java**== 1.Java概述 (1)JVM.JRE和JDK (2)Java特点 ...

  8. 我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)

    我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中) 最初写这篇文章的时候,是在今年的 9 月中旬.今天,我想再写写这将近两个多月以来的感受. 在今年的 10 月我来到北京求 ...

  9. 2020年拼多多校招面试题及答案-最全最新-持续更新中(2)

    大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员~ 2020年拼多多校招面试题及答案-最全最新-持续更新中(2) 2020年拼多多校招面试题一面 2020年拼多多校招面试题一面- ...

最新文章

  1. 跨年赠书福利!推荐你数据科学领域初学、进阶必读6本书
  2. tomcat中的几种log catalina localhost
  3. Linux下配置Smba服务器
  4. 浅谈BERT/Transformer模型的压缩与优化加速
  5. JAVA——后端Vue动态路由配置类JavaBean封装
  6. Chillingo分享三款游戏图标的设计经验
  7. 现货黄金入门知识普及一:图形分析之K线理论
  8. Java有了synchronized,为什么还要提供Lock
  9. python加密解密算法_DES的加密与解密算法(Python实现)
  10. 东软实训2-在jsp中使用javaBean
  11. 编译OpenJDK8 arm32的源码库
  12. Gradle配置及同一应用不同版本配置不同资源文件,不同签名,包名进行打包
  13. ruby调用python_ruby与python
  14. 【LG-P4449】于神之怒加强版
  15. 晚上几点入睡比较好,如果每天1点睡,8点半起,可以保持健康吗?
  16. PyCharm 字母大小写切换
  17. java程序设计之网络编程基础教程_Java程序设计之网络编程基础教程
  18. 错误状态0xc00002e1解决方法
  19. 智能优化算法——哈里鹰算法(Matlab实现)
  20. 有关Access的压缩和修复数据库功能

热门文章

  1. 必须实现继承的抽象方法
  2. 【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析
  3. 一 WebService 简介
  4. 110. Balanced Binary Tree
  5. 2015-12-15 关于数量个
  6. 绕过mysql的id:32933 BUG 实现order by limit 正常取数据.
  7. Android中BindService方式使用的理解
  8. sqlplus 登录数据库
  9. visual studio报错:error C4996: ‘scanf‘
  10. 750px设计稿处理方式