通过构造方法和set方法注入Bean

通过属性直接注入Bean

实例化和注入时指定Bean的ID

List/set注入

将多个泛型实例注入到List

Map注入

将多个泛型实例注入到set

String、Integer等类型直接赋值注入

Spring IoC容器内置接口实例注入

1、构造方法 或 set方法上@Autowired注解

2、属性上直接@AutoWired注解

3、List/Map注入 ,两种方式
ConfigBean中定义返回LIst/Map的方法,方法注解@Bean,方法中赋值
ConfigBean中定义多个返回list/Map的泛型对应类型的方法,@Bean注解,方法中对元素赋值
4
4、简单类型
@Value(值)
Spring通过注解注入Bean
@Autowired:通过该注解实现构造方法注入和set方法注入,可以标识在有参构造方法上、set方法上、属性上。
一、通过方法注入Bean
1:通过有参构造方法注入
步骤1:创建扫描配置类,并添加注解@Configuration、@ComponentScan(value=“路径”)
代码:
@Configuration
@ComponentScan(value="springzhuru")
public class MyConfiguration {
}
步骤2:创建要实例化的Bean,并提供有参的构造方法,并在构造方法上添加注解@Autowired在类上添加@Component。
代码:
@Component
public class MyBean {
private AnotherBean anotherBean;
@Autowired
public MyBean(AnotherBean anotherBean) {
super();
this.anotherBean = anotherBean;
}
Spring IOC注解注入Bean

































注解注入bean
通过注解注入Bean
课程内容结构图
测试Test部分代码
注意:使用的是AnnotationConfigApplicationContext
代码总结:
String、Initeger等类型直接赋值
在定义的属性上,加上@value( )注解
代码总结(Map注入):
方法二:将多个泛型实例注入到Set
和将多个泛型实例注入List类似。
注意:该Map的key值类型应该为String或其父类,因为BeanID一定是一个字符串。
代码总结(Map注入):
方法一:直接注入Set实例
和直接注入List类似。
代码总结(List/Set注入):
方法二:将多个泛型实例注入到List
通过在Configuration类中,创建多个string类型的实例加入@Bean交由spring来管理。
注意:可以加入@Order( )来控制注入的顺序
代码总结(List/Set注入):
方法一:直接注入List实例
在Configuration类中对应的list方法加上@Bean注解,使其交由spring来管理。然后在需要它的地方加入@Aurowired来注入。
注意:除了图中通过属性来Autowired,也可以通过set方法来Autowired
代码总结:
实例化和注入是指定Bean的id
在@Bean或@Qualifier后面加上( )中填入Bean的id
@Bean指定该属性的id,@Qualifier指定要注入哪个id
代码总结:
通过属性直接注入Bean
在私有属性上直接加上@Autowired
注意:这个属性可以没有get和set方法,私有或公有属性都没关系。
代码总结:
通过构造方法 和 Set方法注入Bean
在构造方法 和 Set方法中加上@Autowired注解
注意:前提要保证每一个参数都在spring上下文中有相应的实例,否则spring会提前报错。
注意:MyBean和构造方法中赋值的类(anotherBean),都要加上@Component注解
gggggggggggggggggggggggggggg
rfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd
SpringIoC容器内置接口实例注入
图中所举例是常见的spring上下文的一个接口,通过@Autowired直接注入context这一接口意味着可以通过概context直接获取spring上下文中所有的java bean
简单类型的注入
String,Integer等类型直接赋值
可通过@Value()直接注入值
Map注入
将多个泛型实例注入到Set
图中的string1和string2是要注入到右边的map中的key值中
Map注入
直接注入Set实例
list/set注入
将多个泛型实例注入到list
例如本图左边中有两个sttring类型的实例交给spring管理了,右边就可以通过@Autowired直接注入了
可通过@Order()来指定list中的顺序
list、set类型的注入
方法一:直接注入List实例
首先要在@configuration下面添加一个List,然后用@Bean这一注解交由spring来管理,然后在需要注入他的地方加上@Autowired进行注入即可
实例化和注入时指定bean的id
通过@Bean可以指定这个bean的id是什么
通过@Qualifier指定要注入的是哪一个bean的id
通过属性直接注入bean,直接在属性上加入@Autowired,包括没有get和set方法,并且是private类型,这种也是可以的
通过构造方法和set方法注入bean
前提是保证在方法中的每一个参数都在spring的上下文中存在相应的实例
注解注入Bean方式
4-2 通过注解注入bean内容总结
Map注入,直接注入Map实例