黑马就业班——Spring框架:part2 --spring中基于注解的IOC和IOC的案例

  • 本文参考文档:《Spring5第二天.pdf》
  • 本文代码项目:spring_day02_01_anno_ioc、spring_day02_account_xmlioc、spring_day02_account_annoioc、spring_day02_account_annoioc_withoutxml(路径:G:\idea_java_project\)
  • 本文大部分内容参考上面项目的代码!!!

今日内容

1、spring中ioc的常用注解
	
2. 案例:使用xml方式和注解方式实现单表的CRUD操作
	1)持久层技术选择:dbutils

3. 改造基于注解的ioc案例,使用纯注解的方式实现
	1) spring的一些新注解使用

4. spring和Junit整合

1、基于注解的 IOC 配置
  学习基于注解的 IOC 配置,大家脑海里首先得有一个认知,即注解配置和 xml 配置要实现的功能都是一样的,都是要降低程序间的耦合,只是配置的形式不一样。
  XML的配置是单独添加一个配置文件(如前面的bean.xml),在类中使用spring的核心容器ApplicationContext读取配置文件的内容,通过getBean(类标志) 方法获取想要创建的对象,并同时在bean.xml中实现依赖注入。而注解是通过在类中添加一些注解,来实现XML相应的功能。

  参考项目:spring_day02_01_anno_ioc。首先,可以根据之前XML中标签的各个功能,将注解分为4类,如下:(具体代码参考项目,项目说的比较清楚)

//算了,太长几百行注释,不贴了,直接看项目代码以及注释即可!

  关于@Autowired注解的说明
在这里插入图片描述

2、XMLIOC的案例以及相关的新注解介绍

使用XML来实现案例

  主要参考项目:spring_day02_account_xmlioc项目
   具体参考项目:spring_day02_account_xmlioc。这个项目需要导入spring、mysql
C3P0、Junit、dbutils的jar包的坐标。
   这个项目操作:lkj_spring数据库下面的account表。这个项目使用XML的方式对数据库进行操作,不使用注解!
   其中,DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。(类似于JDBCTemplate,使用的时候参考JDBCTemplate即可)
   DBUtils三个核心功能介绍:

1、QueryRunner中提供对sql语句操作的API
2、ResultSetHandler接口,用于定义select操作后,怎样封装结果集
3、DBUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

  DBUtils的更多功能详解,查看文章:DBUtils解析QueryRunner解析

使用注解来实现案例

  这部分参考项目:spring_day02_account_annoioc项目。我们基于注解来实现上面的项目 spring_day02_account_xmlioc 的功能。
  如果maven的jar没有进入项目,可能是我们没有在创建项目的视乎选择“自动导入”,我们可以点击项目-右键选择Maven-reimport 导入相应的jar。

  我们发现,即使我们使用注解开发,我们的配置文件bean.xml依然存在;其次,我们的测试类中重复放的代码过多,下面我们会解决这两个问题。

spring的新注解

  我们下面使用新的注解来开发,这些注解可以使得我们不需要使用bean.xml文件。
  如下,之前spring_day02_account_annoioc项目的bean.xml有如下2部分内容,我们要去除bean.xml,就要想办法替换这两部分内容。
在这里插入图片描述
  具体解决过程,参考项目:spring_day02_account_annoioc_withoutxml
  为了可以删除bean.xml,我们必须替换这个bean.xml的功能。我们在java.config 目录下创建一个 SpringConfiguration.java 的类,使用这个类来替换bean.xml。(具体的注解与代码解析见参考项目:spring_day02_account_annoioc_withoutxml )。

	SpringConfiguration.java是一个配置类,它的作用和bean.xml是一样的,使用这个类,可以替代bean.xml的功能。
而bean.xml需要替换2部分:
 	1)设置扫描注解的包的位置;
 	2)没办法通过加 @Component 来创建对象的类(既别人封装好的类),bean.xml中需要使用<bean>标签来创建对象。

  下图是第二部分替换过程中遇到的问题,需要使用@Bean 注解解决 。
在这里插入图片描述
  使用完注解配置后,我们发现纯注解的配置并没有比XML配置要简单,反而会更加麻烦。一般我们会使用注解与XML结合的方式: 如果类是别人编写的存在于jar包中的类,我们一般使用XML配置,这样只需要在bean.xml中配置标签即可,而使用注解则需要配置SpringConfiguration配置文件,还要添加一堆注解,很麻烦;如果类是我们自己编写的,可以使用注解配置,这样就可以使用@Component 直接获取对象,不需要写。

  关于测试类中整合spring与Junit过程中使用的 @RunWith 注解,参考文章:@RunWith

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值