spring共四天
第一天:spring框架的概述以及spring中基于XML的IOC配置
第二天:spring中基于注解的IOC和ioc的案例
第三天:spring中的aop和基于XML以及注解的AOP配置
04 spring : 07.银行转账案例&&Java动态代理的两种实现方式
04 Spring: 08.面向切面编程 AOP&&6 四种常用通知类型
第四天:spring中的JdbcTemlate以及Spring事务控制
04 spring: 09.JdbcTemplate的基本使用
04 Spring: 10.Spring中事务控制(上)
04 Spring: 10.Spring中事务控制(中)
-----------------------------------------------------
1、spring的概述
spring是什么
spring的两大核心
spring的发展历程和优势
spring体系结构
2、程序的耦合及解耦
曾经案例中问题
工厂模式解耦
3、IOC概念和spring中的IOC
spring中基于XML的IOC环境搭建
4、依赖注入(Dependency Injection)
1 编写jdbc的工程代码用于分析程序的耦合
创建数据库
create database eesy;
use eesy;
导入测试数据
create table account(
id int primary key auto_increment,
name varchar(40),
money float
)character set utf8 collate utf8_general_ci; insert into account(name,money) values('aaa',1000);
insert into account(name,money) values('bbb',1000);
insert into account(name,money) values('ccc',1000);
创建maven项目:
pom.xml
<groupId>com.itheima</groupId>
<artifactId>day01_eesy_01jdbc</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging> <dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
</dependencies>
day01_eesy_01jdbc\src\main\java\com\iteima\jdbc
JdbcDemo1.java
package com.iteima.jdbc; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; /**
* 程序的耦合
* 耦合:程序间的依赖关系
* 包括:
* 类之间的依赖
* 方法间的依赖
* 解耦:
* 降低程序间的依赖关系
* 实际开发中:
* 应该做到:编译期不依赖,运行时才依赖。
* 解耦的思路:
* 第一步:使用反射来创建对象,而避免使用new关键字。
* 第二步:通过读取配置文件来获取要创建的对象全限定类名
*
*/
public class JdbcDemo1 {
public static void main(String[] args) throws Exception{
//1.注册驱动
// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver"); //2.获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/eesy","root","1234");
//3.获取操作数据库的预处理对象
PreparedStatement pstm = conn.prepareStatement("select * from account");
//4.执行SQL,得到结果集
ResultSet rs = pstm.executeQuery();
//5.遍历结果集
while(rs.next()){
System.out.println(rs.getString("name"));
}
//6.释放资源
rs.close();
pstm.close();
conn.close();
}
}
end