框架是什么?究竟解决了哪些问题?

200 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

框架是什么?

1. 框架定义

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种认为,框架是可被应用开发者定制的应用骨架、模板。

简单的说,框架其实是半成品软件,就是一组组件,供你使用完成你自己的系统。从另一个角度来说框架一个舞台,你在舞台上做表演。在框架基础上加入你要完成的功能。

框架安全的,可复用的,不断升级的软件。

2. 框架解决的问题

框架要解决的最重要的一个问题是技术整合,在 J2EE 的 框架中,有着各种各样的技术,不同的应用,系统使用不同的技术解决问题。需要从 J2EE 中选择不同的技术,而技术自身的复杂性,有导致更大的风险。企业在开发软件项目时,主要目的是解决业务问题。 即要求企业负责技术本身,又要求解决业务问题。这是大多数企业不能完成的。框架把相关的技术融合在一起,企业开发可以集中在业务领域方面。

另一个方面可以提供开发的效率。

JDBC编程

1. 使用JDBC编程的回顾

**public void** findStudent() {

Connection conn = **null**;

Statement stmt = **null**;

ResultSet rs = **null;******

**try** {

//注册 mysql 驱动

  Class.*forName*( **"com.mysql.jdbc.Driver"** );

//连接数据的基本信息 url ,username,password

String url = **"jdbc:mysql://localhost:3306/springdb"** ;

String username = **"root"** ;

String password = **"123456"** ;

//创建连接对象

conn = DriverManager.*getConnection*(url, username, password);

//保存查询结果

List<Student> stuList = **new** ArrayList<>();

//创建 Statement, 用来执行 sql 语句 

stmt = conn.createStatement();

//执行查询,创建记录集,

rs = stmt.executeQuery( **"select** *** **from student"** );

**while** (rs.next()) {

Student stu = **new** Student();

stu.setId(rs.getInt( **"id"** ));

stu.setName(rs.getString( **"name"** ));

stu.setAge(rs.getInt( **"age"** ));

//从数据库取出数据转为 Student 对象,封装到 List 集合 

stuList.add(stu);}

  }catch(Exception e){

      e.printStackTrace();

}finally{

   try{

if(rs != null)

      rs.lose();

if(pstm != null)

      pstm.close();

   if(con != null)

      con.close();

   

}catch(Exception e){

  e.printStackTrace();

}

}

2. 使用JDBC的缺陷

  1. 代码比较多,开发效率低

  2. 需要关注 Connection ,Statement, ResultSet 对象创建和销毁

  3. 对 ResultSet 查询的结果,需要自己封装为 List

  4. 重复的代码比较多些

  5. 业务代码和数据库的操作混在一起