Spring——注解开发依赖注入和管理第三方bean

 Spring——注解开发依赖注入和管理第三方bean_第1张图片

自动装配(引用类型)

环境准备:

文件结构如下图所示,Dao层的实现类里面有一个save方法,Service层里面的实现类有一个BookDao的声明和一个set方法,同时也有一个save方法,配置类的扫描范围如图所示

Spring——注解开发依赖注入和管理第三方bean_第2张图片Spring——注解开发依赖注入和管理第三方bean_第3张图片

 Spring——注解开发依赖注入和管理第三方bean_第4张图片Spring——注解开发依赖注入和管理第三方bean_第5张图片

 在当前的一个测试类当中使用注解配置应用上下文运行如下的代码测试如图Spring——注解开发依赖注入和管理第三方bean_第6张图片

虽然bookDaoImpl和bookServiceImpl都被注册到了IOC容器里面,但是因为没有成功实现依赖注入 ,因此只执行了service的save方法;Spring——注解开发依赖注入和管理第三方bean_第7张图片

 自动依赖注入(按照类型自动注入)

要想给bookService里面bookDao实现注入,只需要用到一个注解

@Autowired   自动装配

现在可以看见bookDao类有成功实现了注入。这里可以直接把bookDao的set方法只留下一个声明

 到这里就可以把之前setter方法注入,构造函数注入等方法都统统抛弃了

按照名称精确注入

 在上面的方法中如果bookDao只有一个实现类还可以使用按照类型装配,但是如果bookDao有两个实现类就必须要采用按名称装配。

需要在被注入的对象上面用到一个新的注解

@Qualifier("bookDao")   ,bookDao是实现类的名称

Spring——注解开发依赖注入和管理第三方bean_第8张图片 

 总结:Spring——注解开发依赖注入和管理第三方bean_第9张图片

 Spring——注解开发依赖注入和管理第三方bean_第10张图片

 自动装配(简单类型)

需要用到一个@Value的标签,参数就是需要注入的值

 Spring——注解开发依赖注入和管理第三方bean_第11张图片

 上面是在类里面直接注入值,但是属性值有可能来自外部的properties文件,下面使用加载properties文件的方式实现注入

第一步(加载properties到配置类)

在 properties中如下配置

Spring——注解开发依赖注入和管理第三方bean_第12张图片

使用一个@PropertySource(属性源)注解加载properties文件

Spring——注解开发依赖注入和管理第三方bean_第13张图片

 第二步(使用参数占位符加载参数)

Spring——注解开发依赖注入和管理第三方bean_第14张图片

 注意:

当需要加载多个properties文件时候需要像下面这样写

Spring——注解开发依赖注入和管理第三方bean_第15张图片

Spring——注解开发依赖注入和管理第三方bean_第16张图片第三方bean管理和第三方bean依赖注入

使用阿里的druid作为第三方资源 

Spring——注解开发依赖注入和管理第三方bean_第17张图片

第一步

在配置类中手动编写方法获取要管理的对象

这里使用加载properties文件的方式注入对象参数

Spring——注解开发依赖注入和管理第三方bean_第18张图片

第二步(将上面方法的返回值定义成一个bean)

 在方法上面使用@Bean注解表示当前方法的返回值是一个bean,

可以设定名称为"datasource"

Spring——注解开发依赖注入和管理第三方bean_第19张图片

 第三步

在测试代码中获取该bean对象并打印

Spring——注解开发依赖注入和管理第三方bean_第20张图片

通常第三方bean对象编写都要单独使用一个配置类使用然后再导入本项目的配置类当中

新建一个JdbcConfig,然后再在本配置类使用一个注解导入

Spring——注解开发依赖注入和管理第三方bean_第21张图片 

Spring——注解开发依赖注入和管理第三方bean_第22张图片 

可以精确看出导入了哪些配置类

Spring——注解开发依赖注入和管理第三方bean_第23张图片  Spring——注解开发依赖注入和管理第三方bean_第24张图片

 

你可能感兴趣的:(Spring,spring)