当前位置:   article > 正文

@autowired注入失败_Spring依赖注入和自动注入

@autowired注入失败_Spring依赖注入和自动注入

1、 Spring依赖注入

1、 Set 方法注入 ,调用setXxx()方法为属性(依赖)赋值

2、 构造器注入,调用构造器时,赋值

1.1 Set注入

男注意: name: 需要赋值的属性名value : 直接赋值 8大基本数据类型(含包装类) 和Stringref: 如果属性是自定义的引用数据类型使用内部bean 配置:男

1.2构造器注入

1)构造器注入的基本使用

X7说明:通过name 属性 区分参数说明:通过 index 属性 区分参数

2)如果参数为引用类型,则引用其他bean赋值(ref属性)

X7

1.3 集合注入

苹果香蕉梨子宝马别克大众

2、 Spring 自动注入

2.1手动注入依赖

78848c049139c05d13dfcf7869be2718.png

自动注入,就是把注入过程交个IOC容器,但是要指明注入的方式

a1b92abc98dfaa5d2ddecec83c9ff626.png

2.2 byType 注入

byType: 指的是根据依赖的类型从IOC从中选择一个同类型的 bean注入

617825c32de8c0f81c256f5df3914d0c.png

Exception encountered during context initialization - cancelling refresh attempt: nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.nm.spring.pojo.Car' available: expected single matching bean but found 2: cc,dd 期望1但是找到2个,容器无法确定

"cc" class="com.nm.spring.pojo.Car" autowire-candidate="false">

autowire-candidate="false" : 表示当前bean为 非候选bean,不参与注入。

autowire-candidate="true": 表示当前bean 为候选bean 参入注入

2.3 byName:注入

byName注入指的是,根据依赖的名字从IOC容器中选择 同名bena 注入。

670bbd60898c87609507d66a979c269d.png

2.4 constructor 注入

Constructor注入 指的是根据构造器的参数类型 从ioc容器中选择类型一致的注入,和byType一致,如果有多个bean同时注入人注入要求的bean则注入失败

ffc6a6421f418551dbec9da3decd5a3f.png

13.5 No: 不自动注入

12.6 Default: 默认值 ,取的是NO

3、 Spring 注解配置

"com.nm.spring.pojo"/>

使用该标签需要引入名字空间:

1

859603f042ebbf7f351f2c16fb6459e3.png

第 1 页

278eaaa8d446233d30a180178a3fb2d4.png

@Component("名字") : 组件注解,没有业务含义的注解使用,在类级别 名字可省略,如果省略,则为类名首字母小写后的类名作为名字相当于 在spring 配置文件中 使用标签注册一个对象到IOC容器

@Value("值"):为属性赋值(基本类型及其包装类型和String)

@Service("名字"):服务层组件注解,通常业务逻辑层使用,如UserServiceIml

@Repository("名字"):持久层注解,通常用于数据访问层,如UserDaoImpl

@Controller("名字"):控制器层注解,通常用于SpringMVC中的控制器类

f5e9e9f5c1dd103be06fbe33d6f5b391.png

@Autowired(required=true|false):自动注入,根据默认类型byType注入

required:表示是否为必须,如果为true, 又找不到注入的bean 则报错 默认为 true,该注解可以再字段set方法构造器上使用

@Qualifier("名字"):和@Autowired配合使用,可以根据名字注入byName

@Resource(name="bean名字"): JSR250提供的注解,根据名字注入

c505fd488fcd266155dc65302ea246a0.png

@Configuration:配置类,该注解表示这个类是一个配置类,其作用等价于Spring XML配置文件

@Bean("名字"):等价于 xml 中书写 注册bean

5845782e19e327715b6d1ea7193ebbdd.png
76051d843ef61c81fc6be0731339d310.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/946620
推荐阅读
相关标签
  

闽ICP备14008679号