第一部分:Spring定义:Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
第二部分请看下面的流程图:MVC三层架构的回顾。
上面的两张流程图应该不陌上了.SSM框架的学习又是在Servlect JSP EL表达式 核心标签库 九大内置对象 的基础上来学习 SSM 框架的。 Spring SpringMVC MyBatis 三个框架对应的 是 业务逻辑层 控制层 数据访问层 。下面的图片是关于Sping的图解。
请看下面的流程图:根据下面的流程图实战,让你开始入门Spng框架。完成下面的流程图,你又算是入门了Sping框架的学习了。
项目大纲:
开始实战:
第一步创建工具包:工具包中要有以下文件:
IDBUtil
DBUtil
package Com.Teacher.Utils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.sql.Connection; import java.sql.DriverManager; /** * 创建工具类信息 */ @Component(value="db") public class DBUtil implements IDBUtil{ @Value("com.mysql.cj.jdbc.Driver") private String driver;//连接数据库的驱动程序 @Value("jdbc:mysql://localhost:3306/mdb?useUnicode=true&characterEncoding=UTF-8") private String url;//访问数据库的地址 @Value("root") private String username;//登录数据库的用户名 @Value("123456") private String password;//登录数据库的密码 public Connection connection=null; @PostConstruct public void init(){ //加载驱动程序 try { Class.forName(driver); //开始连接数据,获得connection对象 connection = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } } public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
ITeacherSpingUtil
TeacherSpingUtil
第二步创建Dao包中有以下文件。
ITeacherDao
TeacherDaoImp
package Com.Teacher.Dao; import Com.Teacher.Utils.DBUtil; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /*从这个类中访问数据库的内容对数据进行增删改查*/ @Repository(value = "dao") public class TeacherDaoImp implements ITeacherDao { @Autowired DBUtil db; @Override public List<Map<String, Object>> All() { List<Map<String, Object>> oList = new ArrayList<>(); //判断连接数据库是否成功 if (db.connection!= null) { String sql = "SELECT *FROM teacher"; try { PreparedStatement ps = db.connection.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { //int id = rs.getInt("id"); int id=rs.getInt("id"); String name=rs.getString("name"); int phone=rs.getInt("phone"); int money=rs.getInt("money"); String date=rs.getString("date"); Map<String, Object> oMap = new HashMap<>(); // oMap.put("id", id); oMap.put("id",id); oMap.put("name",name); oMap.put("phone",phone); oMap.put("money",money); oMap.put("date",date); oList.add(oMap); } } catch (SQLException e) { e.printStackTrace(); } } return oList; } @Test @Override public void X() { System.out.println("开始调用数据库dao层"); } }