1.组件扫描
@PostConstruct 构造方法之后进行初始化
@PreDestroy 销毁之前指定销毁方法
@Scope 指定对象作用域
@Value 注入简单类型的值 (现在可以注入对象类型 但是结合EL表达式)
1.2 和组件装配有关的标注
@Autowired 可以用在成员变量 set方法 构造方法上 (依然是要参数个数匹配)
优先按照类型进行组件的查找 如果找不到则使用名字进行查找
配合 @Qualifier 可以直接指定名字进行查找 但是这样就不能用在构造方法上了
@Resource 可以用在成员变量 set方法上 不能用在构造器上 但是这基本上就够用了
这个标注不是spring 框架中 而是java的基本标注
优先按照名字 去查找 如果没有找到则启用类型查找
2.Spring DAO
2.1 什么是 DAO
Data Access Object 数据访问对象 以面向对象的方式访问数据库
2.2 Spring DAO 做了哪些工作?
对JDBC 做了封装 和 简化 使用Spring 提供的对象和api 这样可以不用考虑连接 执行环境的获取 以及资源的释放
提供了AOP模式的事务处理 让业务代码 和 事务管理进行分离
把JDBC的异常处理进行封装 由原来的检查异常(必须处理) 变成成了一个 DataAccessException 这个异常
继承RuntimeException 是运行时异常不用强制处理
2.3 JdbcTemplate
SpringDAO 把最核心的封装 交给了 JdbcTemplate 这个对象来负责 驱动加载 连接获取 执行环境获取 以及
资源的释放。 使用 JdbcTemplate 有两种手段 第一种使用 继承JdbcDaoSupport
简化了原来xml 的配置
<context:component-scan base-package="com.xdl"></context:component-scan>
@PostConstruct 构造方法之后进行初始化
@PreDestroy 销毁之前指定销毁方法
@Scope 指定对象作用域
@Value 注入简单类型的值 (现在可以注入对象类型 但是结合EL表达式)
1.2 和组件装配有关的标注
@Autowired 可以用在成员变量 set方法 构造方法上 (依然是要参数个数匹配)
优先按照类型进行组件的查找 如果找不到则使用名字进行查找
配合 @Qualifier 可以直接指定名字进行查找 但是这样就不能用在构造方法上了
@Resource 可以用在成员变量 set方法上 不能用在构造器上 但是这基本上就够用了
这个标注不是spring 框架中 而是java的基本标注
优先按照名字 去查找 如果没有找到则启用类型查找
2.Spring DAO
2.1 什么是 DAO
Data Access Object 数据访问对象 以面向对象的方式访问数据库
2.2 Spring DAO 做了哪些工作?
对JDBC 做了封装 和 简化 使用Spring 提供的对象和api 这样可以不用考虑连接 执行环境的获取 以及资源的释放
提供了AOP模式的事务处理 让业务代码 和 事务管理进行分离
把JDBC的异常处理进行封装 由原来的检查异常(必须处理) 变成成了一个 DataAccessException 这个异常
继承RuntimeException 是运行时异常不用强制处理
2.3 JdbcTemplate
SpringDAO 把最核心的封装 交给了 JdbcTemplate 这个对象来负责 驱动加载 连接获取 执行环境获取 以及
资源的释放。 使用 JdbcTemplate 有两种手段 第一种使用 继承JdbcDaoSupport