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类的方式 这种方式 大家无需注入
JdbcTemplate 从JdbcDaoSupport 直接获取使用即可。 第二种方式 我们自己手工注入JdbcTemplate。