阶段3 2.Spring_04.Spring的常用注解_5 自动按照类型注入


运行出现了空指针异常


@Autowired


注解出现的位置


AutoWired的代码

常用的就是写类上和方法上。

运行测试,刚才运行是一个空指针异常

也就是通过Autowired 这个accountDao这个对象不为空了。

注入成功原理

自动按照类型注入。IAccountDao去Spring的容器里面直接找的Value值

如果把实现类继承接口IAccountDao这里代码注释掉的话

再次运行就发现注不进去报错。

假设容器中两个实现类


复制一份改个名字


id后面也加上2

第一个实现的实现接口的代码 注释 放开

现在的容器中不止一个dao了,这样就面临着不止一个匹配值的情况、
错误:预期有唯一 一个类可以注入进来。但是发现了两个dao实现类

把变量名称后面加上1


变量名称改成2


多个,先按照类型圈定出来要匹配的对象,接下来使用变量名称作为bean的id,在圈定出来的这两个里面继续查找。如果有id一样的就注入成功。
没有一样的就报错。

原文地址:https://www.cnblogs.com/wangjunwei/p/11348165.html

时间: 2024-12-27 22:49:44

阶段3 2.Spring_04.Spring的常用注解_5 自动按照类型注入的相关文章

阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解

@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件.但是配置文件这里是空的.我们的bean里面什么对象都没有定义 需要有一行配置 spring的文档里面 搜索xmls:cont 把这一段复制过去 配置上之后,就会扫描com.itheima包下的以及它的子包的类或者接口上的注解 再次运行测试 成功运行 指定id的方式 这里对应注解的value配置的id值 value属性可省略 原文地址:https://w

阶段3 2.Spring_04.Spring的常用注解_4 由Component衍生的注解

为什么要使用者三个注解 Controller:表现层 Service:业务层 Repository:持久层 在这里就是用Controller 运行也没问题 用Service Repository同样也是可以的,这里不再尝试 dao内配置 测试dao的注解 总结 有些时候对象不属于三层的话,可以直接用Component注解直接来创建 原文地址:https://www.cnblogs.com/wangjunwei/p/11348019.html

Spring-04.Spring的常用注解

认知: 学习基于注解的 IoC 配置,大家脑海里首先得有一个认知,即注解配置和 xml 配置要实现的功能都是一样 的,都是要降低程序间的耦合.只是配置的形式不一样. 1 常用IOC注解按照作用分类 曾经XML的配置: <bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl" scope="" init-method="" d

Spring MVC常用注解

cp by http://www.cnblogs.com/leskang/p/5445698.html 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Control

spring mvc 常用注解标签详解

1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestP

Spring的常用注解

Spring框架主要包括IoC和AOP,这两大功能都可以使用注解进行配置. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8新建一个名称为demo的Spring Boot项目. 一.bean定义 在 Spring 中,构成应用程序主干并由Spring IoC容器管理的对象称为bean.bean是一个由Spring IoC容器实例化.组装和管理的对象.使用@Component.@Service或@Configuration注解来修饰一个类,这些类会被Sp

Spring中常用注解的介绍

spring中使用注解时配置文件的写法: <?xml version="1.0" encoding="UTF-8"?> <span style="font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

spring boot常用注解

@EnableAutoConfiguration 启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入.这个类的设计就是为starter工作的. @RestController 这个注解专门用于写RESTful的接口的,里面集成了@Controller和@ResponseBody注解. @ResponseBody 这个注解会自动利用默认的Jackson将return的对象序列化成json格式. @RequestMapping .@GetMapping.@PostMa

spring较为常用注解

@Configuration 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器. @enableAsync注解的意思是可以异步执行,就是开启多线程的意思.可以标注在方法.类上 spring线