056-Spring 整合 Junit 3. Spring 整合 Junit3.1 原始 Junit 测试 Spring 的问题在测试类中,每个测试方法都有以下两行代码: 12ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");IAccountService as = ac.getBean("accountService", IAccountSer 2020-02-02 Java #Java
057-Spring的AOP(面向切面编程) 1.Spring 的 AOP 简介1.1 什么是 AOPAOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各 2020-02-02 Java #Java
058-Spring JdbcTemplate JdbcTemplate基本使用01-JdbcTemplate基本使用-概述(了解)JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。 例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemp 2020-02-02 Java #Java
058-Spring 声明式事务 声明式事务控制1. 编程式事务控制相关对象1.1 PlatformTransactionManagerPlatformTransactionManager 接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法。 方法 说明 TransactionStatus getTransaction(TransactionDefination defination) 获取事务的 2020-02-02 Java #Java
059-Spring 与 servlet 集成 1. Spring与Web环境集成1.1 ApplicationContext应用上下文获取方式应用上下文对象(ApplicationContext) 是通过 new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写 new ClasspathXmlApplicationContext(spring配置文件), 2020-02-02 Java #Java
059-SpringMVC 2. SpringMVC的简介2.1 SpringMVC概述SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MV 2020-02-02 Java #Java
060-SpringMVC 请求和响应 SpringMVC的数据响应01-SpringMVC的数据响应-数据响应方式(理解) 页面跳转 直接返回字符串,SpringMVC 会根据字符串找到对应的页面进行跳转。 通过ModelAndView对象返回。 回写数据 直接返回字符串 返回对象或集合 02-SpringMVC的数据响应-页面跳转-返回字符串形式(应用) 03-SpringMVC的数据响应-页面跳转-返回ModelA 2020-02-02 Java #Java
061-SpringMVC 异常处理 1. SpringMVC异常处理机制1.1 异常处理的思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。 系统的Dao、Service、Controller出现的异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交由异常处理器进行异常处理,如下 2020-02-02 Java #Java
061-SpringMVC 拦截器 SpringMVC的拦截器01-SpringMVC拦截器-拦截器的作用(理解)Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(InterceptorChain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体实现。 02 2020-02-02 Java #Java
063-MyBatis 1.Mybatis简介1.1原始jdbc操作12345678910111213141516//1.导入驱动jar包//2.注册驱动Class.forName("com.mysql.jdbc.Driver");//3.获取数据库连接对象Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "r 2020-02-02 Java #Java
064-MyBatis 1.Mybatis的Dao层实现1.1 传统开发方式1.1.1编写UserDao接口123public interface UserDao { List<User> findAll() throws IOException;} 1.1.2.编写UserDaoImpl实现12345678910public class UserDaoImpl implemen 2020-02-02 Java #Java
065-MyBatis 1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型MapperScannerConfigurer用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 1.1.2 一对一查询的语句对应的sql语句:select * from orders o,user u where o.uid=u.id; 查 2020-02-02 Java #Java
065-MyBatis 注解开发 2.Mybatis的注解开发2.1 MyBatis的常用注解这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper 映射文件了。我们先围绕一些基本的CRUD来学习,再学习复杂映射多表操作。 @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@ 2020-02-02 Java #Java
065-SSM 框架 SSM框架整合1.1 原始方式整合1.准备工作 2.创建Maven工程 3.导入Maven坐标123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778<de 2020-02-02 Java #Java
066-Maven高级 Maven高级1.maven基础知识回顾1.1 maven介绍maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。 依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。 项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。 1.2 maven的仓库类型 本地仓库 2020-02-02 Java #Java
066-Maven高级4-分模块构建maven工程 1.maven基础知识回顾1.1 maven介绍maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。 依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。 项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。 1.2 maven的仓库类型 本地仓库 远程仓库 2020-02-02 Java #Java
066-Maven高级5-私服 5. maven私服5.1 私服说明maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央仓库、其他远程仓库和私服(私有服务器)。其中,中央仓库是由maven官方提供的,而私服就需要我们自己搭建了。 maven私服就是公司局域网内的maven远程仓库,每个员工的电脑上安装maven软件并且连接maven私服,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服 2020-02-02 Java #Java
066-Maven高级6-将第三方jar安装到本地仓库和maven私服 6. 将第三方jar安装到本地仓库和maven私服在maven工程的pom.xml文件中配置某个jar包的坐标后,如果本地的maven仓库不存在这个jar包,maven工具会自动到配置的maven私服下载,如果私服中也不存在,maven私服就会从maven中央仓库进行下载。 但是并不是所有的jar包都可以从中央仓库下载到,比如常用的Oracle数据库驱动的jar包在中央仓库就不存在。此时需要到Or 2020-02-02 Java #Java
067-Git-使用TortoiseGit管理文件版本 TortoiseGit是一款开源的Git图形界面工具,使用TortoiseGit可以简化Git相关的操作(本质上还是执行的Git相关命令)。 TortoiseGit下载地址: https://tortoisegit.org/download/ 下载完成直接双击安装即可,安装完成后在桌面(也可以是其他目录)点击右键,看到如下菜单则说明安装成功 2020-02-02 Java #Java
067-Git-分布式版本控制工具 1. Git概述1.1 Git历史Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 到了 2005 年,开发 BitKeeper 的商业公司同 Lin 2020-02-02 Java #Java