08 2019 档案

摘要:笔记 6、服务注册和发现之Eureka Client搭建商品服务实战 简介:搭建用商品服务,并将服务注册到注册中心 1、创建一个SpirngBoot应用,增加服务注册和发现依赖 2、模拟商品信息,存储在内存中 3、开发商品列表接口,商品详情接口 4、配置文件加入注册中心地址 使用eureka客户端 阅读全文
posted @ 2019-08-31 23:51 高山-景行 阅读(273) 评论(0) 推荐(0) 编辑
摘要:笔记 5、服务注册和发现Eureka Server搭建实战 简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍 官方文档:http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.ht 阅读全文
posted @ 2019-08-31 23:11 高山-景行 阅读(252) 评论(0) 推荐(0) 编辑
摘要:笔记 4、SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projects.spring.io/spring-cloud/ Eureka的基础知识-->画图讲解交互流程,服务提供者<-->服务消费者 ; Eureka 阅读全文
posted @ 2019-08-31 22:18 高山-景行 阅读(329) 评论(0) 推荐(0) 编辑
摘要:笔记 3、分布式系统CAP原理常见面试题和注册中心选择 简介:讲解CAP原则在面试中回答和注册中心选择 C A 满足的情况下,P不能满足的原因: 数据同步(C)需要时间,也要正常的时间内响应(A),那么机器数量就要少,所以P就不满足 CP 满足的情况下,A不能满足的原因: 数据同步(C)需要时间, 阅读全文
posted @ 2019-08-31 21:27 高山-景行 阅读(302) 评论(0) 推荐(0) 编辑
摘要:笔记 2、分布式应用知识CAP理论知识 简介:讲解分布式核心知识CAP理论 CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。 一致性(C):在分布式系统中的所有数据 阅读全文
posted @ 2019-08-31 21:11 高山-景行 阅读(222) 评论(0) 推荐(0) 编辑
摘要:笔记 第三章 SpringCloud核心组件注册中心 1、什么是微服务的注册中心 简介:讲解什么是注册中心,常用的注册中心有哪些 (画图) 理解注册中心:服务管理,核心是有个服务注册表,心跳机制动态维护 服务提供者provider: 启动的时候向注册中心上报自己的网络信息 服务消费者consumer 阅读全文
posted @ 2019-08-31 20:17 高山-景行 阅读(232) 评论(0) 推荐(0) 编辑
摘要:笔记 4、微服务下电商项目基础模块设计 简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习 小而精的方式学习微服务 1、用户服务 1)用户信息接口 2)登录接口 2、商品服务 1)商品列表 2)商品详情 3、订单服务 1)我的订单 2)下单接口 开始 阅读全文
posted @ 2019-08-31 20:05 高山-景行 阅读(283) 评论(0) 推荐(0) 编辑
摘要:笔记 3、常见的微服务框架 简介:讲解常用的微服务框架 consumer: 调用方 provider: 被调用方 一个接口一般都会充当两个角色(不是同时充当) 1、dubbo: zookeeper + dubbo + springmvc/springboot 官方地址:http://dubbo.ap 阅读全文
posted @ 2019-08-31 20:02 高山-景行 阅读(220) 评论(0) 推荐(0) 编辑
摘要:笔记 2、微服务核心基础讲解 简介:讲解微服务核心知识 :网关、服务发现注册、配置中心、链路追踪、负载均衡器、熔断 1、网关:路由转发 + 过滤器 /api/v1/pruduct/ 商品服务 /api/v1/order/ 订单服务 /api/v1/user/ 用户服务 2、服务注册发现:调用和被调用 阅读全文
posted @ 2019-08-31 19:46 高山-景行 阅读(208) 评论(0) 推荐(0) 编辑
摘要:笔记 第二章 架构演进和分布式系统基础知识 1、传统架构演进到分布式架构 简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive :负载均衡的知识点 1、单体应用: 开发速度慢 启动时间长 依赖庞大 等等 2、微服务 易开发、理解和维护 独立的部署和启动 等 不 阅读全文
posted @ 2019-08-30 12:50 高山-景行 阅读(207) 评论(0) 推荐(0) 编辑
摘要:小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构 小D课堂 - 新版本微服务 阅读全文
posted @ 2019-08-30 12:30 高山-景行 阅读(370) 评论(0) 推荐(0) 编辑
摘要:笔记 2、技术选型和学后水平 简介:课程所需基础和技术选型讲解,学完课程可以到达怎样的程度, 1、IDEA JDK8 Maven SpringBoot基础 Linux 2、理解掌握并开发SpringCloud里面主流架构和组件的基础使用,还有部分源码原理的理解 3、掌握学习的技巧和解决问题的思路 开 阅读全文
posted @ 2019-08-30 12:29 高山-景行 阅读(286) 评论(0) 推荐(0) 编辑
摘要:笔记 SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1、微服务架构SpringCloud课程介绍 简介:课程介绍和课程大纲讲解,讲课风格和重点内容理解技巧 2、技术选型和学后水平 简介:课程所需基础和技术选型讲解,学完课程可以到达怎样的程度, 1、IDEA JDK8 Maven 阅读全文
posted @ 2019-08-29 23:49 高山-景行 阅读(1314) 评论(0) 推荐(0) 编辑
摘要:笔记 1、SpringBoot多环境配置介绍和项目实战(核心知识) 简介:SpringBoot介绍多环境配置和使用场景 1、不同环境使用不同配置 例如数据库配置,在开发的时候,我们一般用开发数据库,而在生产环境的时候,我们是用正式的数据 2、配置文件存放路径 classpath根目录的“/confi 阅读全文
posted @ 2019-08-29 23:33 高山-景行 阅读(140) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot2.x日志讲解和自定义Logback配置实战 简介:讲解SpringBoot2.x整合Logback配置实战 1、官网介绍:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/ht 阅读全文
posted @ 2019-08-29 18:19 高山-景行 阅读(265) 评论(0) 推荐(0) 编辑
摘要:笔记 1、新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 2、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用 log 阅读全文
posted @ 2019-08-29 12:54 高山-景行 阅读(138) 评论(0) 推荐(0) 编辑
摘要:笔记 3、SpringBoot2.x异步任务实战(核心知识) 简介:讲解什么是异步任务,和使用SpringBoot2.x开发异步任务实战 1、什么是异步任务和使用场景:适用于处理log、发送邮件、短信……等 下单接口->查库存 100 余额校验 150 风控用户100 .... 2、启动类里面使用@ 阅读全文
posted @ 2019-08-28 23:16 高山-景行 阅读(227) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot常用定时任务配置实战 简介:SpringBoot常用定时任务表达式配置和在线生成器 1、cron 定时任务表达式 @Scheduled(cron="*/1 * * * * *") 表示每秒 1)crontab 工具 https://tool.lu/crontab/ 2、 阅读全文
posted @ 2019-08-28 22:53 高山-景行 阅读(182) 评论(0) 推荐(0) 编辑
摘要:笔记 1、SpringBoot定时任务schedule讲解 简介:讲解什么是定时任务和常见定时任务区别 1、常见定时任务 Java自带的java.util.Timer类 timer:配置比较麻烦,时间延后问题 timertask:不推荐 2、Quartz框架 配置更简单 xml或者注解 3、Spri 阅读全文
posted @ 2019-08-28 21:53 高山-景行 阅读(182) 评论(0) 推荐(0) 编辑
摘要:笔记 4、Redis工具类封装讲解和实战 简介:高效开发方式 Redis工具类封装讲解和实战 1、常用客户端 https://redisdesktop.com/download 2、封装redis工具类并操作 开始 主要讲开发中的技巧 Redis 桌面管理工具 RedisDesktopManager 阅读全文
posted @ 2019-08-28 21:25 高山-景行 阅读(229) 评论(0) 推荐(0) 编辑
摘要:笔记 3、SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1、官网:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/ 阅读全文
posted @ 2019-08-28 20:56 高山-景行 阅读(231) 评论(0) 推荐(0) 编辑
摘要:笔记 2、源码编译安装Redis4.x 简介:使用源码安装Redis4.x和配置外网访问 1、快速安装 https://redis.io/download#installation wget http://download.redis.io/releases/redis-4.0.9.tar.gz t 阅读全文
posted @ 2019-08-28 20:31 高山-景行 阅读(185) 评论(0) 推荐(0) 编辑
摘要:笔记 1、分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1、redis官网 https://redis.io/download 2、新手入门redis在线测试工具:http://try.redis.io/ 开始 命令行操作界面 阅读全文
posted @ 2019-08-28 20:07 高山-景行 阅读(206) 评论(0) 推荐(0) 编辑
摘要:笔记 5、SpringBoot整合mybatis之事务处理实战 简介:SpringBoot整合Mybatis之事务处理实战 1、service逻辑引入事务 @Transantional(propagation=Propagation.REQUIRED) 2、service代码 @Override @ 阅读全文
posted @ 2019-08-28 18:29 高山-景行 阅读(165) 评论(0) 推荐(0) 编辑
摘要:笔记 4、事务介绍和常见的隔离级别,传播行为 简介:讲解什么是数据库事务,常见的隔离级别和传播行为 1、介绍什么是事务,单机事务,分布式事务处理等 2、讲解场景的隔离级别 Serializable: 最严格,串行处理,消耗资源大 Repeatable Read:保证了一个事务不会修改已经由另一个事务 阅读全文
posted @ 2019-08-28 17:49 高山-景行 阅读(159) 评论(0) 推荐(0) 编辑
摘要:笔记 3、SpringBoot2.x整合Mybatis3.x增删改查实操和控制台打印SQL语句 讲解:SpringBoot2.x整合Mybatis3.x增删改查实操, 控制台打印sql语句 1、控制台打印sql语句 #增加打印sql语句,一般用于本地开发测试 mybatis.configuratio 阅读全文
posted @ 2019-08-28 17:33 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot2.x整合Mybatis3.x注解实战 简介:SpringBoot2.x整合Mybatis3.x注解配置实战 1、使用starter, maven仓库地址:http://mvnrepository.com/artifact/org.mybatis.spring.boot 阅读全文
posted @ 2019-08-28 17:04 高山-景行 阅读(237) 评论(0) 推荐(0) 编辑
摘要:笔记 1、SpringBoot2.x持久化数据方式介绍 简介:介绍近几年常用的访问数据库的方式和优缺点 1、原始java访问数据库 开发流程麻烦 1、注册驱动/加载驱动 Class.forName("com.mysql.jdbc.Driver") 2、建立连接 Connection con = Dr 阅读全文
posted @ 2019-08-28 08:02 高山-景行 阅读(238) 评论(0) 推荐(0) 编辑
摘要:笔记 4、SpringBoot2.x整合模板引擎thymeleaf实战 讲解:SpringBoot2.x整合模板引擎thymeleaf实战 官网地址:https://www.thymeleaf.org/doc/articles/thymeleaf3migration.html 1、thymeleaf 阅读全文
posted @ 2019-08-28 07:57 高山-景行 阅读(176) 评论(0) 推荐(0) 编辑
摘要:笔记 3、SpringBoot2.x整合模板引擎freemarker实战 简介:SpringBoot2.x整合模板引擎freemarker实战 1、Freemarker相关maven依赖 <!-- 引入freemarker模板引擎的依赖 --> <dependency> <groupId>org.s 阅读全文
posted @ 2019-08-28 07:38 高山-景行 阅读(173) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot2.x常见模板引擎讲解和官方推荐使用 简介:介绍常用的SpringBoot2.x模板引擎和官方推荐案例 1、JSP(后端渲染,消耗性能) Java Server Pages 动态网页技术,由应用服务器中的JSP引擎来编译和执行,再将生成的整个页面返回给客户端 可以写ja 阅读全文
posted @ 2019-08-28 07:20 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要:笔记 1、SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1、官网地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#us 阅读全文
posted @ 2019-08-27 23:13 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要:笔记 、SpringBoot2.X自定义拦截器实战及新旧配置对比(核心知识) 简介: 讲解拦截器使用,Spingboot2.x新版本配置拦截拦截器和旧版本SpringBoot配置拦截器区别讲解 1、@Configuration 继承WebMvcConfigurationAdapter(SpringB 阅读全文
posted @ 2019-08-27 23:02 高山-景行 阅读(242) 评论(0) 推荐(0) 编辑
摘要:笔记 3、Servlet3.0的注解自定义原生Listener监听器实战 简介:监听器介绍和Servlet3.0的注解自定义原生Listener监听器实战 1、自定义Listener(常用的监听器 servletContextListener、httpSessionListener、servletR 阅读全文
posted @ 2019-08-27 22:23 高山-景行 阅读(204) 评论(0) 推荐(0) 编辑
摘要:笔记 2、Servlet3.0的注解自定义原生Servlet实战 讲解:使用 Servlet3.0的注解自定义原生Servlet和Listener 1、自定义原生Servlet @WebServlet(name = "userServlet",urlPatterns = "/test/customs 阅读全文
posted @ 2019-08-27 22:09 高山-景行 阅读(185) 评论(0) 推荐(0) 编辑
摘要:笔记 1、深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识) 简介:讲解SpringBoot里面Filter讲解和使用Servlet3.0配置自定义Filter实战 filter简单理解:人 >检票员(filter) > 景点 1、Spr 阅读全文
posted @ 2019-08-27 21:29 高山-景行 阅读(278) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot2.x启动原理概述 简介:讲解SpringBoot启动流程概述和基本加载案例 开始 启动类,run是整个启动的入口 run里面又调用其他方法的重载 stopWatch监听整个应用程序 运行的监听器 通过有stopWatch打印启动信息 确定我们的主类。通过方法deduc 阅读全文
posted @ 2019-08-27 12:53 高山-景行 阅读(196) 评论(0) 推荐(0) 编辑
摘要:笔记 1、SpringBoot启动方式讲解和部署war项目到tomcat9 简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1、ide启动 2、jar包方式启动 maven插件: <build> <plugins> <plugin> <groupId>org.springfr 阅读全文
posted @ 2019-08-27 12:43 高山-景行 阅读(274) 评论(0) 推荐(0) 编辑
摘要:笔记 5、SpringBoot2.x配置全局异常返回自定义页面 简介:使用SpringBoot自定义异常和错误页面跳转实战 1、返回自定义异常界面,需要引入thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar 阅读全文
posted @ 2019-08-26 23:53 高山-景行 阅读(321) 评论(0) 推荐(0) 编辑
摘要:笔记 4、SpringBoot2.x配置全局异常实战 讲解:服务端异常讲解和SpringBoot配置全局异常实战 1、默认异常测试 int i = 1/0,不友好 2、异常注解介绍 @ControllerAdvice 如果是返回json数据 则用 RestControllerAdvice,就可以不加 阅读全文
posted @ 2019-08-26 23:16 高山-景行 阅读(171) 评论(0) 推荐(0) 编辑
摘要:笔记 3、SpringBoot2.x个性化启动banner设置和debug日志 简介:自定义应用启动的趣味性日志图标和查看调试日志 1、启动获取更多信息 java -jar xxx.jar --debug 2、修改启动的banner信息 1)在类路径下增加一个banner.txt,里面是启动要输出的 阅读全文
posted @ 2019-08-26 22:53 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot测试进阶高级篇之MockMvc讲解 简介:讲解MockMvc类的使用和模拟Http请求实战 1、增加类注解 @AutoConfigureMockMvc @SpringBootTest(classes={XdclassApplication.class}) 2、相关API 阅读全文
posted @ 2019-08-26 22:39 高山-景行 阅读(227) 评论(0) 推荐(0) 编辑
摘要:笔记 1、@SpringBootTest单元测试实战 简介:讲解SpringBoot的单元测试 1、引入相关依赖 <!--springboot程序测试依赖,如果是自动创建项目默认添加--> <dependency> <groupId>org.springframework.boot</groupId 阅读全文
posted @ 2019-08-26 15:15 高山-景行 阅读(335) 评论(0) 推荐(0) 编辑
摘要:笔记: 3、SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1、配置文件加载 方式一 1、Controller上面配置 @PropertySource({"classpath:resource.properties"}) 2 阅读全文
posted @ 2019-08-23 17:15 高山-景行 阅读(226) 评论(0) 推荐(0) 编辑
摘要:笔记 2、SpringBoot2.x配置文件讲解 简介:SpringBoot2.x常见的配置文件 xml、yml、properties的区别和使用 xml、properties、json、yaml 1、常见的配置文件 xx.yml, xx.properties, 1)YAML(Yet Another 阅读全文
posted @ 2019-08-23 12:36 高山-景行 阅读(185) 评论(0) 推荐(0) 编辑
摘要:学习笔记 热部署 每次修改了代码都需要关闭应用重启 热部署就是有一个插件会监听我们应用的代码文件是否有变化,如果有变化就会有其他的类加载器加载 主要的依赖 复制到我们的pom.xml里面 安装完成jar包启动应用就可以了 修改代码增加一段代码输出,此时服务本身就是启动的。保存代码后,会自动启动程序, 阅读全文
posted @ 2019-08-23 11:04 高山-景行 阅读(207) 评论(0) 推荐(0) 编辑
摘要:笔记 8、jar包方式运行web项目的文件上传和访问处理(核心知识) 简介:讲解SpingBoot2.x使用 java -jar运行方式的图片上传和访问处理 1、文件大小配置,启动类里面配置 @Bean public MultipartConfigElement multipartConfigEle 阅读全文
posted @ 2019-08-22 23:40 高山-景行 阅读(275) 评论(0) 推荐(0) 编辑
摘要:笔记 7、SpringBoot2.x文件上传实战 简介:讲解HTML页面文件上传和后端处理实战 1、讲解springboot文件上传 MultipartFile file,源自SpringMVC 1)静态页面直接访问:localhost:8080/index.html 注意点: 如果想要直接访问ht 阅读全文
posted @ 2019-08-22 20:58 高山-景行 阅读(226) 评论(0) 推荐(0) 编辑
摘要:知识点 6、SpringBoot2.x目录文件结构讲解 简介:讲解SpringBoot目录文件结构和官方推荐的目录规范 1、目录讲解 src/main/java:存放代码 src/main/resources static: 存放静态文件,比如 css、js、image, (访问方式 http:// 阅读全文
posted @ 2019-08-22 20:15 高山-景行 阅读(187) 评论(0) 推荐(0) 编辑
摘要:主要内容 5、常用json框架介绍和Jackson返回结果处理 简介:介绍常用json框架和注解的使用,自定义返回json结构和格式 1、常用框架 阿里 fastjson,谷歌gson等 JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 阅读全文
posted @ 2019-08-22 12:55 高山-景行 阅读(216) 评论(0) 推荐(0) 编辑
摘要:知识点 4、SpringBoot基础HTTP接口POST,PUT,DELETE请求实战 简介:讲解http请求post,put, delete提交方式 开始 新建一个OtherHttpController post put一般是更新,更新用户的年龄、账号密码 delete就是删除操作 测试post 阅读全文
posted @ 2019-08-22 12:40 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要:3、SpringBoot基础HTTP接口GET请求实战 简介:讲解springboot接口,http的get请求,各个注解使用 1、GET请求 1、单一参数@RequestMapping(path = "/{id}", method = RequestMethod.GET) 1) public St 阅读全文
posted @ 2019-08-22 12:32 高山-景行 阅读(237) 评论(0) 推荐(0) 编辑
摘要:2、开发接口必备工具之PostMan接口调试工具介绍和使用 简介:模拟Http接口测试工具PostMan安装和讲解 1、接口调试工具安装和基本使用 2、下载地址:https://www.getpostman.com/ 需要自己去熟悉postMan这个工具的使用 阅读全文
posted @ 2019-08-22 12:09 高山-景行 阅读(170) 评论(0) 推荐(0) 编辑
摘要:第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门Spring 阅读全文
posted @ 2019-08-22 10:21 高山-景行 阅读(545) 评论(0) 推荐(0) 编辑
摘要:1、SpringBoot2.xHTTP请求配置讲解 简介:SpringBoot2.xHTTP请求注解讲解和简化注解配置技巧 1、@RestController and @RequestMapping是springMVC的注解,不是springboot特有的 2、@RestController = @ 阅读全文
posted @ 2019-08-22 08:04 高山-景行 阅读(238) 评论(0) 推荐(0) 编辑
摘要:调整字体大小 选择对应的字体大小 下面这两个地方没有写版本号的话 就是依赖上面父类的 鼠标放过来,这里也会显示版本号 点进去 再点进去 这里有很多版本。spring boot尽量让我们少配置,所以很多东西都收纳进去了,我们要用的时候直接引过来。 如果要更新项目里的版本,直接在下面写上版本号。保存po 阅读全文
posted @ 2019-08-22 07:42 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要:4、快速创建SpringBoot2.x应用之工具类自动创建web应用 简介:使用构建工具自动生成项目基本架构 1、工具自动创建:http://start.spring.io/ 右边就会列出来已经选择的 解压出来 导入到Ecplise 选中工作空间 找到已经存在的maven项目 选择导入的文件夹的路径 阅读全文
posted @ 2019-08-22 07:32 高山-景行 阅读(221) 评论(0) 推荐(0) 编辑
摘要:3、快速创建SpringBoot2.x应用之手工创建web应用 简介:使用Maven手工创建SpringBoot2.x应用 手工创建:http://spring.io/guides/gs/rest-service/(备注:网址已更新,与视频录制时不一样,笔记里为更新的网址) 官方推荐包命名接口,不要 阅读全文
posted @ 2019-08-22 07:18 高山-景行 阅读(303) 评论(0) 推荐(0) 编辑
摘要:主要内容 2、SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1、依赖版本jdk8以上, Springboot2.x用JDK8, 因为底层是 Spring framework5, 2、安装maven最新版本,maven3.2以上版本,下 阅读全文
posted @ 2019-08-22 06:59 高山-景行 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1 1、零基础快速入门SpringBoot2.0 5节课 1、SpringBoot2.x课程全套介绍和高手系列知识点 简介:介绍SpringBoot2.x课程大纲章节 java基础,jdk环境,maven基础 2、SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和spri 阅读全文
posted @ 2019-08-21 23:31 高山-景行 阅读(446) 评论(0) 推荐(0) 编辑
摘要:spring加入声明式的事物 配置事物 配置事物管理器 需要一个dataSource,引入上面的dataSource 配置事务通知 引入上面的transactionManager事物管理器 find开头的设置为read-only设置为true表示只读的事物。 *表示出了find之外的所有方法,iso 阅读全文
posted @ 2019-08-21 22:44 高山-景行 阅读(191) 评论(0) 推荐(0) 编辑
摘要:service能供成功的调用到service对象就算是整合成功 如果能把生成的代理对象也存大IOC的容器中。那么ServiceImpl就可以拿到这个对象 做一个注入,然后就可以调用代理对象的查询数据库的方法 核心的问题就是把代理对象存在IOC的容器中 在applicationContext.xml 阅读全文
posted @ 2019-08-21 22:25 高山-景行 阅读(274) 评论(0) 推荐(0) 编辑
摘要:再写一个测试的方法,测试save保存的方法 需要提交事务才能保存到数据库 阅读全文
posted @ 2019-08-21 22:05 高山-景行 阅读(159) 评论(0) 推荐(0) 编辑
摘要:需要先搭建Mybits的环境。 用Mybits的注解的方式。把两个方法的sql语句写完 SqlMapConfig.xml resources下新建xml文档 把约束粘贴过来 两步操作 环境标签叫做environments 选中标签后自动生成 配置驱动 地址 账号和密码 因为我们现在用注解了,所以ma 阅读全文
posted @ 2019-08-21 22:01 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要:点击超连接,执行controller里面的方法 那么就需要在Controller里面定义Service对象,就需要依赖注入进来。 启动tomcat服务器,web.xml里面的前端控制器会帮我加载springmvc.xml这个配置文件 springmvc.xml里面配置的扫描 只扫描了Controll 阅读全文
posted @ 2019-08-21 21:38 高山-景行 阅读(146) 评论(0) 推荐(0) 编辑
摘要:搭建SpringMvc的环境, 首先是提供前端控制器 再配置serletMapping 加载Springmvc.xml的配置文件, 使用init-param里面有个属性contextConfigLocation 现在还没有springmvc.xml这个文件,一会我们要创建springmvc.xml 阅读全文
posted @ 2019-08-21 12:50 高山-景行 阅读(198) 评论(0) 推荐(0) 编辑
摘要:做整合要保证每个框架单独使用 先搭建Spring的框架,然后再整合别的框架。Spring是业务层的框架 spring的配置文件 这就表示是spring的配置文件 默认的约束不够,需要修改。 开启注解扫描 如果配置了扫描cn.itecast下的包, 扫描这里面所有的包 spring只负责业务层和持久层 阅读全文
posted @ 2019-08-20 23:17 高山-景行 阅读(163) 评论(0) 推荐(0) 编辑
摘要:创建数据库ssm并创建表account 创建项目 导入开发的坐标 先改成1.8 aspectjweaver:AOP相关 spring-aop:AOP相关 spring-web:web相关 spring-webmvc:web相关 spring-test:单元测试 spring-tx:spring事务 阅读全文
posted @ 2019-08-20 22:58 高山-景行 阅读(235) 评论(0) 推荐(0) 编辑
摘要:Spring去整合另外的两个框架 阅读全文
posted @ 2019-08-20 22:12 高山-景行 阅读(192) 评论(0) 推荐(0) 编辑
摘要:返回值改成false 就是不放行 没有方形,控制台只有一个输出 转发到error页面 新建error.jsp页面 控制台只有拦截器的输出。controller根本就没有执行 把代码改回来 重写第二个方法postHandler-后处理的方法 Ctrl+O选择postHandler方法 跳转到error 阅读全文
posted @ 2019-08-20 22:08 高山-景行 阅读(178) 评论(0) 推荐(0) 编辑
摘要:创建拦截器 新建包 实现拦截器的接口 接口中没有强制实现里面的方法。jdk1.8的特性。接口中已经实现了方法 这就是相当于实现了这个接口。方法已经全帮你实现过了。 如果想去写新的实现方法。Ctrl+o快捷键 选中preHandelr方法,点击ok 这样就重写这个方法了 配置拦截器 /**:所有方法全 阅读全文
posted @ 2019-08-20 20:33 高山-景行 阅读(143) 评论(0) 推荐(0) 编辑
摘要:先新建包,com.itcast.controller,然后把异常拦截的项目的UserController复制过来。 复制过来稍作修改 创建pages文件件,然后新建success.jsp页面 部署当前的项目 启动服务器 编写拦截器需要的步骤 阅读全文
posted @ 2019-08-20 20:21 高山-景行 阅读(148) 评论(0) 推荐(0) 编辑
摘要:分三步 新建exception的包。然后添加SysException类 一般写异常都继承。Exception 定义Messgae属性,生成get和set 生成带参数的构造方法 选中异常的代码 Ctrl+Alt+T 选择try catch就可以了 抛出自定义的异常类 异常处理器类 需要实现特定的接口: 阅读全文
posted @ 2019-08-20 20:12 高山-景行 阅读(182) 评论(0) 推荐(0) 编辑
摘要:原来的index.jsp删除。新建一个 创建pages文件夹。再创建success.jsp页面 重新部署项目 把这个项目移除掉 加入新的项目 启动tomcat服务器 模拟异常 方法抛出异常给前端控制器。前端控制器再返回异常给页面。 阅读全文
posted @ 2019-08-20 19:54 高山-景行 阅读(135) 评论(0) 推荐(0) 编辑
摘要:异常一级一级的抛出 前端控制器,调用异常处理器组件 搭建环境 注意下面两个的结尾的名称要个 Module Name对应起来。 导入开发的坐标 复制upload这个项目里面的 编程和生成 改成1.8 配置前端控制器 再把springMvc.xml复制过来 新建这俩目录 把乱码这段配置删除。因为pom. 阅读全文
posted @ 2019-08-20 19:42 高山-景行 阅读(150) 评论(0) 推荐(0) 编辑
摘要:拦截器可以有多个 搭建环境 不用改,直接finish 复制原来项目的 依赖的包也复制过来 web.xml配置前端控制器 springmvc的配置文件 先创建对应的文件夹 分别创建java和resources俩文件夹 springMvc.xml复制到当前项目的resources文件夹下 上一个项目讲的 阅读全文
posted @ 2019-08-20 12:51 高山-景行 阅读(148) 评论(0) 推荐(0) 编辑
摘要:参数HttpServletRequest也可以删掉 扩服务器的代码 注意选择jersey包下的 拿到文件资源。put过去。 最终代码 重新部署springMvc 图片服务器正常运行 客户端服务器 服务端手动创建uploads文件夹 上传成功 阅读全文
posted @ 2019-08-20 12:36 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要:使用这个jar包来跨服务器上传 搞两个tomcat。一个springmvc一个fileupload 选中tomcat server点击左边的加号 需要改端口和JMX pport这个端口 部署文件上传的项目 springmvc是引用服务器。fileupad是图片服务器 新建项目 这个项目主要用来存文件 阅读全文
posted @ 2019-08-20 11:23 高山-景行 阅读(165) 评论(0) 推荐(0) 编辑
摘要:后台提供新的方法,上传的方法复制一份传统上传的代码。改名为fileupload2 配置解析器 名字必须叫做myltipartResolver 里面可以配置一些属性,例如上传文件的大小等。 文件大小 最大10M 就是 10*1024*1024 最终这里配置 10485760 解析配置好了之后,就会传递 阅读全文
posted @ 2019-08-20 11:02 高山-景行 阅读(166) 评论(0) 推荐(0) 编辑
摘要:需要配置文件解析器这个对象 id配置时候必须叫做mutipartResolver 最终 阅读全文
posted @ 2019-08-20 08:04 高山-景行 阅读(245) 评论(0) 推荐(0) 编辑
摘要:先创建表单 enctype选择multipart/form-data 把表单分成几个部分 导入对应的包 解析request拿到上传的文件对象 拿到某个路径的绝对路径 以后什么异常全抛出,改成Exception 上传文件后,删除临时文件 测试 生成唯一的文件名 以上就是传统的文件上传方式 阅读全文
posted @ 2019-08-20 07:58 高山-景行 阅读(291) 评论(0) 推荐(0) 编辑
摘要:分成几个部分 里面可能就包含文件上传的值 提交方式要改成post 第三个就是提供一个input file的文件选择域 新建项目 新建一个项目 当前项目没有父工程 跳过联网下载 改成02 构建 编译和目标的版本修改为1.8.然后加上版本锁定,锁定版本为 5.0.2 控制器会加载springmvc.xm 阅读全文
posted @ 2019-08-20 07:41 高山-景行 阅读(353) 评论(0) 推荐(0) 编辑
摘要:springMvc的框架已经帮我们做好了。发过来的数据转换为javaBean对象 发过来的键值的形式,如果属性和javaBean对应的话,可以直接封装到对象中。 key做额外的转换的时候,需要另外的jar包 做数据响应 @ResponseBody 在返回的对象前面加上。 前台输出 测试 阅读全文
posted @ 2019-08-20 07:22 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:编写conroller的方法 @RequestBody获取请求体的内容。当前请求体传递的是json字符串。 拿到了请求的内容 阅读全文
posted @ 2019-08-20 07:13 高山-景行 阅读(190) 评论(0) 推荐(0) 编辑
摘要:先搭建环境 webapp目录下创建js的文件夹。然后里面引入jquery.min.js这个文件。 页面引入这个js文件 先alert弹窗做测试 服务器重新部署 点击ajax的按钮 并没有起作用 我们在web.xml配置过 servlet的控制器。 配置的拦截模式是 斜线,所有的请求拦截 配置前端控制 阅读全文
posted @ 2019-08-20 07:03 高山-景行 阅读(214) 评论(0) 推荐(0) 编辑
摘要:这个方式用的比较少。 forward 转发或者重定向 返回forward关键字就表现现在想使用的就是请求转发 redirect 阅读全文
posted @ 2019-08-19 23:41 高山-景行 阅读(193) 评论(0) 推荐(0) 编辑
摘要:ModelAndView是SpringMvc提供的一个对象 ModelAndView底层源码用也是ModelMap。ModelMap实现过Model的接口 ModelAndView可以直接new出来。是SpringMvc提供的 还可以设置跳转到哪个页面 用的视图解析器就会跳转到WEB-INF/pag 阅读全文
posted @ 2019-08-19 23:15 高山-景行 阅读(284) 评论(0) 推荐(0) 编辑
摘要:定义先的标签 返回void 测试默认的跳转 虽然是404但是方法执行了。 默认请求了 testVoid.jsp这个页面。请求路径叫什么 就访问哪个jsp页面。 使用request请求转发 抛出的异常 只留一个exception 不能直接直接写success。手动调用转发 不会帮你执行视图的解析器 那 阅读全文
posted @ 2019-08-19 22:48 高山-景行 阅读(210) 评论(0) 推荐(0) 编辑
摘要:返回字符串 新建一个response的页面 新建后台Controller类 视图解析器配置的前缀地址 是WEB-INF下的pages下的页面。 创建pages文件夹在下面创建success.jsp页面 启动服务器 输出了 说明我们的环境搭建的没问题 创建一个user类 实现序列化。定义三个属性 生成 阅读全文
posted @ 2019-08-19 22:33 高山-景行 阅读(192) 评论(0) 推荐(0) 编辑
摘要:创建项目 使用骨架,创建webapp 为了创建项目更快速maven设置 archetypeCatalog internal 修改编译的版本 从昨天的课程内复制 相关的坐标。上面是版本锁定。 复制前端的控制器和解决中文乱码 复制到今天的项目里面 手动创建java和resources的文件夹 java文 阅读全文
posted @ 2019-08-19 22:14 高山-景行 阅读(174) 评论(0) 推荐(0) 编辑
摘要:SpringMvc提供的Model类 ModelMap继承LinkedHashMap 页面取值 把request这个对象全部输出了。 SessionAttribute 取值 从sessionAttribute中获取值。 现存值再取值 存值页面。 取值 删值 重新部署项目 先存,再取,最后删除 删除 阅读全文
posted @ 2019-08-19 20:09 高山-景行 阅读(198) 评论(0) 推荐(0) 编辑
摘要:这个注解可以作用在方法上,也可以作用在参数上 演示 user里面有三个属性, 表单只提交了两个属性。缺少了date属性 date没有获取到值因为也没提交这个值。 下面返回的user对象。上面就会拿到 没有返回值的情况 需要方法上提供Map集合 用ModeAttribute修饰这个参数,从Map集合中 阅读全文
posted @ 2019-08-19 19:52 高山-景行 阅读(154) 评论(0) 推荐(0) 编辑
摘要:演示 访问服务器会有session。它是一cookie的形式返回给客户端的 拿到的值 阅读全文
posted @ 2019-08-19 19:36 高山-景行 阅读(131) 评论(0) 推荐(0) 编辑
摘要:此文只做了解!! 过滤器 ,了解即可 请求设置为post的方式 换成put的方式 浏览器模拟发送PUT请求 ,不大好模拟。顾虑器可以帮助我们发送不同的请求 过滤器会拿到这个请求 详情可以看文档,此处不做过多讲解 阅读全文
posted @ 2019-08-19 19:30 高山-景行 阅读(242) 评论(0) 推荐(0) 编辑
摘要:请求地址都一样,根据不同的请求方式,最终让不同的方法去执行。这就是restfull的风格 如果有两个查询都是get的。那么当前访问 满足条件的就是两个。 用一个占位符 {id} 演示PathVariable 传入id 阅读全文
posted @ 2019-08-19 19:22 高山-景行 阅读(143) 评论(0) 推荐(0) 编辑
摘要:拿整个请求体的数据 阅读全文
posted @ 2019-08-19 18:54 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:新建param.jsp页面。里面一个a标签。 新建Controller 输出字符串 重新部署 传参数 接收这个username并输出 把username换成name 接收不到。 使用RequestParam注解 把接收到的name赋值给username required表示是否为必须 换成uname 阅读全文
posted @ 2019-08-19 18:45 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要:控制器里面获取常用的request对象或者Response对象。 想拿到谁, 就在参数上写上谁 再获取servletConetext并输出 阅读全文
posted @ 2019-08-19 12:54 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:mvc是基于组件的方式 类型转换的接口Converter,想实现类型转换,必须实现这个接口 Ctrl+N搜索 converter 这是一个接口类 它有很多的实现类。S是字符串。后面T是指要转换类型 新建包untils。下面创建类StringToDate 实现Converter的接口。这里注意导包 不 阅读全文
posted @ 2019-08-19 12:48 高山-景行 阅读(152) 评论(0) 推荐(0) 编辑
摘要:后端自动进行类型的转换。前端输入的年龄都是字符串的形式传递到后端。 user的实体类 加一个Date日期类型格式的字段。生成get和set还有toString的方法 重新部署程序 日期用横线的方式 控制台 没有输出 阅读全文
posted @ 2019-08-19 12:33 高山-景行 阅读(203) 评论(0) 推荐(0) 编辑
摘要:jabaBean里面有集合的情况 把account里面的user对象先注释掉。get和set都注释掉。然后toString方法需要重写 List和Map这两种对象。生成get和set方法 toString的方法重新生成 要实现,上面username和age封装到一个user对象并加入到List<us 阅读全文
posted @ 2019-08-19 12:26 高山-景行 阅读(145) 评论(0) 推荐(0) 编辑
摘要:输入中文 中文后台接收到 全部乱码 springMvc提供了过滤器 配置过滤器 characterEncodingFilter是首字母小写当做起的名称。当然这里也可以任意起名字。为了对应所以修改类名首字母小写 解决哪个字符集编码。CharacterEncodingFilter类里面有一个encodi 阅读全文
posted @ 2019-08-19 12:16 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:参数封装到javaBean对象中 创建新的包domain。在下面新建Account 实现序列化 的接口,定义几个属性 生成get和set。还有toString的方法 表单 重新发布tomcat javaBean里面包含另外一个对象 account里面包含一个user对象。里面包含了一个引用类型 新建 阅读全文
posted @ 2019-08-18 22:39 高山-景行 阅读(232) 评论(0) 推荐(0) 编辑
摘要:请求参数的绑定 参数绑定 创建新的页面 给方法加上注解 前面没有斜线 重新部署项目 传递一个username的值 后台方法接收 重新部署项目 再传一个password的值 再输出password javaBean 传递属性比较多的情况用javaBean去接收。详情看下一节 阅读全文
posted @ 2019-08-18 22:28 高山-景行 阅读(142) 评论(0) 推荐(0) 编辑
摘要:看下RequestMapping下面 一共有几个属性 那么属性用处不大 value和path互相为别名 这里用value表示path也是没有问题的 只有一个属性,并且属性名称叫做value那么就可以省略这个名称 省略value后 method 指定当前这个方法可以指定什么样的请求方式 参数是一个数组 阅读全文
posted @ 2019-08-18 21:40 高山-景行 阅读(148) 评论(0) 推荐(0) 编辑
摘要:用于建立请求URL和处理请求方法之间的对应关系。 增加一个testResuqestMapping方法来测试 把注解放在类上 服务器重新部署 再次重新部署 这次就可以请求到数据 了 注解放在类上:用来表示具体的某一个模块。 阅读全文
posted @ 2019-08-18 21:25 高山-景行 阅读(118) 评论(0) 推荐(0) 编辑
摘要:这里配置上注解的支持,相当于配置了上面的前端控制器、处理映射器这两个 阅读全文
posted @ 2019-08-18 21:16 高山-景行 阅读(162) 评论(0) 推荐(0) 编辑
摘要:配置了load-on-startup等于1 表示启动了服务器就会去创建DispatcherServlet 如果不配置load-on-startup为1 那么第一次发送请求才会去创建DispatcherServlet对象。 阅读全文
posted @ 2019-08-18 21:04 高山-景行 阅读(131) 评论(0) 推荐(0) 编辑
摘要:先把默认的index.jsp删掉。默认的index.jsp没有jsp的声明 ok webapp文件夹下new一个 起名叫做index。新建的页面有jsp的头 创建控制器类 java下新建一个class 如果让一个类的方法执行。类要先变成对象 开启注解扫描 这个时候springMvc的配置文件就起作用 阅读全文
posted @ 2019-08-18 19:58 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:选择骨架构建 默认选中next-然后finish后就会去网上下载插件。会比较耗费时间。 添加一组键值对: archetypeCatalog internal 添加了这组坚持对,就可以解决Mavn项目创建过慢的问题 项目构建完,目录结构是不全的 main下面创建文件夹Directory。java存放类 阅读全文
posted @ 2019-08-18 19:25 高山-景行 阅读(228) 评论(0) 推荐(0) 编辑
摘要:Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter Spring MVC 是基于方法设计的,而Struts2是基于类,Struts2每次执行都会创建一个动作类。所以Spring MVC 会稍微比 Struts2 快些。 Struts2 的OGNL 表达式使页面的开 阅读全文
posted @ 2019-08-18 17:34 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要:第二章 第三章 第四章 三层框架 springMvc是表现层 阅读全文
posted @ 2019-08-18 17:22 高山-景行 阅读(146) 评论(0) 推荐(0) 编辑
摘要:jdk1.7和1.8的差别 准备好的一个maven工程 反射创建对象10亿次 ,用的时间 替换jdk的版本 选择为1.7 切换了1.7的版本以后呢执行的速度就变的非常的慢 两个版本的对比 响应式编程风格 整理的一套资料 Junit5 准备好的资料 阅读全文
posted @ 2019-08-18 16:37 高山-景行 阅读(207) 评论(0) 推荐(0) 编辑
摘要:在业务层声明 transactionTemplate 并且声称一个set方法等着spring来注入 在需要事物控制的地方执行 execute。但是这个execute需要一个参数 需要的参数是TransactionCollback但是这个是一个接口。想用的话就需要找他它的实现类 这里不找实现类,就写匿 阅读全文
posted @ 2019-08-18 14:59 高山-景行 阅读(215) 评论(0) 推荐(0) 编辑
摘要:编程式的事物控制,使用的情况非常少,主要作为了解 新建项目 首先导入包坐标 复制代码 这里默认值配置了Service、dao和连接池其他的内容都没有配置 也就说现在是没有事物支持的。运行测试文件 有错误,但是金额还是被减去了 编码的方式加事务控制 事务控制都离不开提交和回滚这两个操作。在spring 阅读全文
posted @ 2019-08-18 14:41 高山-景行 阅读(129) 评论(0) 推荐(0) 编辑
摘要:新建项目 把之前项目src下的内容全部复制过来 pom.xml内复制过来 开始配置 新建一个config的包,然后再新建配置文件类SpringConfiguration @Configuration这个注解是可写可不写的。 这个类会做为字节码的参数传给ApplicationContext @Comp 阅读全文
posted @ 2019-08-18 13:58 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要:创建新项目 复制上一个pom.xml的内容。依赖和打包的方式 再复制src的代码过来 bean.xml。多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Autowried注入dao dao注解 service改完了改dao。加上Repository 此时不能再 阅读全文
posted @ 2019-08-18 01:30 高山-景行 阅读(148) 评论(0) 推荐(0) 编辑
摘要:环境搭建 新建工程 把对应的依赖复制过来 src下内容复制 配置spring中的声明事物 找到bean.xml开始配置 配置事物管理器 里面需要注入DataSource 2-配置事物通知 需要先导入事务约束 事务和aop这里一起导入 file:///H:/BaiDu/%E9%BB%91%E9%A9% 阅读全文
posted @ 2019-08-17 19:56 高山-景行 阅读(243) 评论(0) 推荐(0) 编辑
摘要:创建一个工程,只搭建环境不做配置。等配置的时候把这个项目相关的代码再复制到新项目里面 jar包的打包方式 导入包 事务控制也是基于AOP的。所以这里导入aspectjweaver 复制jdbcTemplate中的代码 复制到当前项目里面 对代码进行改造和删减 删除 resources里面的配置要删减 阅读全文
posted @ 2019-08-17 14:05 高山-景行 阅读(179) 评论(0) 推荐(0) 编辑
摘要:分析aop的 xml 的代码。更直观一些 事务提交和回滚就是我们重复的代码 spring业余事务管理器,我们拿过来直接用就可以 提交和回滚的后面直接调用释放。所以释放资源之类就是多余的 在绑定连接到线程的时候,直接就设置成false,所以开启事务这个通知 也是多余的 spring中的事务 需要先导入 阅读全文
posted @ 2019-08-16 20:05 高山-景行 阅读(177) 评论(0) 推荐(0) 编辑
摘要:此时没有异常 测试我们的方法 执行报错 注解在实际的测试过程中,实际的执行顺序是有问题的。会先调用最终通知。然后再调用后置通知 最终通知已经关闭了连接。再调用后置通知肯定报错。 getThreadConnection发现当前线程上已经没有连接了 没有链接了会去再拿一个链接。再绑定到线程上。虽然已经绑 阅读全文
posted @ 2019-08-16 13:06 高山-景行 阅读(156) 评论(0) 推荐(0) 编辑
摘要:创建maven的新项目 先复制坐标的依赖。 再把代码复制进来 先改造ioc的部分 复制上面一行代码。到下面 改成context 这里也是复制的上面两行代码。到下面改成context关键字 配置扫描的包 Service改成注解 accountDao用Autowired注入。下面的set方法就用不到了。 阅读全文
posted @ 2019-08-16 12:42 高山-景行 阅读(179) 评论(0) 推荐(0) 编辑
摘要:新建项目 首先把依赖复制进来 aop必须引入。aspectjweaver 复制src下的所有内容 复制到我们的新项目里面 factory文件夹删掉 删除后测试类必然就报错 配置文件 beanFactory就用不到了。 数据库内把多有的数据删掉。把金额都改成1千 配置 找到aop的约束 复制到这里 这 阅读全文
posted @ 2019-08-16 12:28 高山-景行 阅读(202) 评论(0) 推荐(0) 编辑
摘要:复制三个出来。分别叫做 OrderDaoImpl、ProductDaoImpl、UserDaoImpl 复制这三个出来就是为了解决重复性代码的问题。 每个dao中都有这段代码。这些都是重复性的代码。在我们的实际开发过程中,是可以避免的 延时完 就删掉其他几个实现类。还是保留AccountDaoImp 阅读全文
posted @ 2019-08-16 11:27 高山-景行 阅读(227) 评论(0) 推荐(0) 编辑
摘要:resources下新建File文件 bean.xml 配置jdbcTemplate 注入DataSource 新建测试方法 复制demo1改个名字叫做demo2 编写Insert的方法 阅读全文
posted @ 2019-08-16 09:31 高山-景行 阅读(163) 评论(0) 推荐(0) 编辑
摘要:复制demo起名3 保存 update delete selct 有这么多的重载方法 如何去定位 可变参数是JDK1.5版本之后才有的东西 RowMapper 实现RowMapper这个接口。然后实现里面的方法 查询的第二个参数就是我们刚才创建的类AccountRowMapper 用List<Acc 阅读全文
posted @ 2019-08-16 00:10 高山-景行 阅读(257) 评论(0) 推荐(0) 编辑
摘要:实际的开发过程中都是基于dao的 创建持久层dao 定义三个方法 持久层实现类 创建dao的实现类。 添加未实现的方法 通过spring注入 jdbcTemplate。所以这里生成一个jdbcTemplate的set方法 根据id查询的方法 用一个List<account>去接收 根据name去查询 阅读全文
posted @ 2019-08-15 20:32 高山-景行 阅读(145) 评论(0) 推荐(0) 编辑
摘要:先看这张图 1、spring中的JdbcTemplate JdbcTemplate的作用: 它就是用于和数据库交互的,实现对表的CRUD操作 如何创建该对象: 对象中的常用方法: 新建项目 引入四个包的坐标 用这个之前准备好的数据库表 创建实体类 三个属性,生成get和set方法和toString方 阅读全文
posted @ 2019-08-15 18:49 高山-景行 阅读(158) 评论(0) 推荐(0) 编辑
摘要:由转账添加事物,使得我们的操作变的非常麻烦。重复代码产生了很多 实际的开发中如果想记录日志每个方法都要执行 如果判断用户是否登陆也是每个方法都需要判断 这些重复的代码我们都需要去解决。 解决的方式,以前是重复代码抽取。抽取出来之后就调用。抽取并不是终点,只是第一步。 接下来就需要把重复的代码在方法执 阅读全文
posted @ 2019-08-15 18:31 高山-景行 阅读(221) 评论(0) 推荐(0) 编辑
摘要:复制依赖和改jar包方式 src下的都复制过来。 复制到新项目里了 bean.xml里面复制上面一行代码到下面。把aop改成context。 配置spring容器创建时要扫描的包 Service的配置这里就可以删除了 配置注解 使用@Service注解 开始AOP配置 把通知类交给Spring来管理 阅读全文
posted @ 2019-08-15 18:23 高山-景行 阅读(191) 评论(0) 推荐(0) 编辑
摘要:环绕通知。method属性需要新加一个方法 在logger内中新加aroundPringLog方法 异常代码先注释掉 对比现在的环绕通知和之前写代理类做的环绕通知。右侧的方法内有明确的业务层方法(切入点方法)调用。左边没有业务方法调用 proceed方法有异常,需要在try catch中 try c 阅读全文
posted @ 2019-08-15 12:31 高山-景行 阅读(256) 评论(0) 推荐(0) 编辑
摘要:下面配置了通用的表达式,,上面的四个就不用再配置那么长 索罗的切入点表达式了。 节省了每次都要写一长段表达式的过程 写在一个aop:aspect这个切面下面就只能当前切面用 写在切面里面 运行测试 挪到切面外面。报错了 因为切面标签报错了。如果运行测试方法就会报错。但是提示的错误不明显 原因是导了约 阅读全文
posted @ 2019-08-14 23:58 高山-景行 阅读(210) 评论(0) 推荐(0) 编辑
摘要:新建项目 复制上节课的pom.xml内的代码 复制java下的代码 测试类也复制过来 配置文件也拷贝过来 logge下增加几个方法 测试方法只需要一个saveAccount方法就可以了 增加其他三种通知的配置 执行测试方法 after没有执行。 after是因为方法写错 改正 没有异常通知。原因是我 阅读全文
posted @ 2019-08-14 22:42 高山-景行 阅读(213) 评论(0) 推荐(0) 编辑
摘要:写测试类来测试。。也不需要整合JUnit了就是个普通的测试类。 我们要看就是有没有给我们真正的实现 记录日志 配置起作用了。 三个方法都调用一下 目前我们的配置只能对saveAccount增强 通常情况下 我是对业务层所有的方法添加增强,尤其是在事务控制时 切点表达式的写法 访问修饰符可以省略 运行 阅读全文
posted @ 2019-08-14 22:28 高山-景行 阅读(319) 评论(0) 推荐(0) 编辑
摘要:resources下新建bean.xml文件 xmlns:aop 先配置IOC aop 通知类就是logger。id配置为logAdvice表示日志的通知 梳理流程 首先我们在这有个Service它需要增强。它想在执行里面任何一个方法时都记录日志 然后我们就准备出了一个日之类。这个日志类里面就一个p 阅读全文
posted @ 2019-08-14 22:04 高山-景行 阅读(193) 评论(0) 推荐(0) 编辑
摘要:新建项目 先改打包方式 导包,就先导入这俩包的坐标 aspectjweaver为了解析切入点表达式 新建业务层接口 定义三个方法 看返回和参数的区别。为了把这三类方法表现出来,并不局限于方法干什么事 1.无参无返回值 2.有参无返回值 3.有返回值无参 创建实现类,,业务层的实现类 重写三个方法,方 阅读全文
posted @ 2019-08-14 21:44 高山-景行 阅读(162) 评论(0) 推荐(0) 编辑
摘要:基于接口的动态代理要求,要去被代理对象最少实现一个接口 基于子类的动态代理没有实现接口的要求。但是要求我们的被代理类不能是最终类 在Spring中可以选择基于接口还是子类的动态代理 术语 大白话。业务层看到方法就都是连接点。IAccountService中的方法。它是连接什么的呢? 连接我们的业务和 阅读全文
posted @ 2019-08-14 21:30 高山-景行 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-14 20:17 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:回到事物的案例中 我们现在希望用代码比较精简的这个AccountServiceImpl这个类。而不是一堆事物的AccountServiceImpl_OLD这个类 新建BeanFactory类 AccountService需要通过spring注入的方式。所以这里提供了set方法 代理谁就写的类加载器。 阅读全文
posted @ 2019-08-14 20:13 高山-景行 阅读(286) 评论(0) 推荐(0) 编辑
摘要:代理一个普通的java类 导入cglib的包 它还有一个asm的依赖。会自动加进来 创建cglib的文件夹。把proxy里面的Client和Producer复制到cglib文件夹 Producer不实现任何的接口 Client内的代码要重新写 不能受罪种类,如果是最终类就不能再创建子类了 参数1是C 阅读全文
posted @ 2019-08-14 19:48 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要:创建 Producer 生产者的类 创建标准。这标准就是接口 创建消费者的类 以前的方式,客户直接找生产厂家 代理商出现以后,怎么去联系代理商 动态代理 第一个参数是ClassLoader 第二个参数是interface是字节码类型,第三个是InvocationHandler是一个接口 代理prod 阅读全文
posted @ 2019-08-14 17:38 高山-景行 阅读(195) 评论(0) 推荐(0) 编辑
摘要:新建项目 实现动态代理。 动态代理的概念 买电脑找代理商 代理的出现 解决了生产厂家的一些问题 需要java中的动态代理机制 阅读全文
posted @ 2019-08-14 17:10 高山-景行 阅读(135) 评论(0) 推荐(0) 编辑
摘要:转账回滚这里把异常打印出来。AccountServiceTest.java 把数据库的金额现在都改成1000块 运行测试方法 这里已经报错了。 刷新数据库内的数据。这样我们事物就控制成功了。 事物控制由于持久层回到了业务层。通过添加事物,转账可以正常的执行了。 配置变的非常的麻烦 复制一份Accou 阅读全文
posted @ 2019-08-14 17:00 高山-景行 阅读(365) 评论(0) 推荐(0) 编辑
摘要:Service中就需要用到 TransactionManager中的方法。提供set方法等着spring注入 这里面所有的操作都可以加上事物控制 其他的方法都是相同的操作 这里没有返回结果 转账的方法 查询的地方需要thorw异常。产生了异常,程序就不在执行 QueryRunner注入了Connec 阅读全文
posted @ 2019-08-14 16:45 高山-景行 阅读(266) 评论(0) 推荐(0) 编辑
摘要:事务管理工具类 首先需要有connection。并且是当前线程上的connection。声明connectionUtils。提供set方法等着spring来注入 有异常需要放在事务里面 close关闭并不是真正的, 而是还回到连接池中。那么现成用完了也是还回到了线程池中 线程还回的时候绑定着一个连接 阅读全文
posted @ 2019-08-14 16:15 高山-景行 阅读(202) 评论(0) 推荐(0) 编辑
摘要:不是没有事务造成的 这样相当于有四个connection 每一个都有自己独立的事物 每一个自己成功就提交事务。 已经提交的就执行结束。没有提交的就报异常 让这些操作使用同一个connection 事物的控制 提供一个数据源 ,既不能用也不能自己创建。等着spring为我们注入。所以这里提供set的方 阅读全文
posted @ 2019-08-14 16:05 高山-景行 阅读(264) 评论(0) 推荐(0) 编辑
摘要:使用xmlioc这个项目进行完善。 创建一个新的工程把之前的代码都复制过来。 复制pom.xml内的依赖项 java下的com包复制过来。 配置文件复制过来 测试类固执过来 内容进行删减 测试类的方法都删掉 新增方法 实现类里面添加未实现的方法 实现这个方法 用List<account>去接收 这里 阅读全文
posted @ 2019-08-14 15:47 高山-景行 阅读(250) 评论(0) 推荐(0) 编辑
摘要:1、完善我们的account案例 2、分析案例中问题 3、回顾之前讲过的一个技术:动态代理 4、动态代理另一种实现方式 5、解决案例中的问题 6、AOP的概念 7、spring中的AOP相关术语 8、spring中基于XML和注解的AOP配置 阅读全文
posted @ 2019-08-14 15:22 高山-景行 阅读(169) 评论(0) 推荐(0) 编辑
摘要:Junit的核心Runner在执行的时候不会创建容器。同时它字节码文件,也改不了 spring整合junit 想办法把junit里面的不能加载容器的main方法换掉。从而实现创建容器。有了容器就可以实现注入 导入spring-test这个包。在pom.xml内配置 Junit包下面有RunWith这 阅读全文
posted @ 2019-08-14 14:42 高山-景行 阅读(217) 评论(0) 推荐(0) 编辑
摘要:测试类重复代码的问题 这是之前的方式 运行findAll的方法,没有问题 测试人员不需要关心上面的方法,。应该关心的各个方法是否能够正常的运行 对于一个测试工程师,只要写完变量就可以测试了。 可以使用Autowired自动注入。但是 运行还是空指针异常 分析 出现问题的原因是没有容器,所以无法注入 阅读全文
posted @ 2019-08-14 14:08 高山-景行 阅读(165) 评论(0) 推荐(0) 编辑
摘要:复制上面的数据源到下面改改名字 现在就是有两个数据源 创建一个eesy02的数据库 找到sql语句再创建Account表 现在就相当于有连个库一个eesy一个是eesy02这连个库。 account里面有三条记录 eesy的库内有5条数据 把数据源2的数据库地址改成eesy02这个库 执行测试类。查 阅读全文
posted @ 2019-08-14 13:52 高山-景行 阅读(243) 评论(0) 推荐(0) 编辑
摘要:数据库的链接 次数是写死的 新建配置文件 定义成员变量 value注解实现 与配置文件的key对应 PropertySource 要想让spring去读取这个配置文件 resource编译后都跑到了。工作空间类路径下 PropertySource怎么识别类路径呢? 前面加上classpath:来表示 阅读全文
posted @ 2019-08-14 12:45 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要:把Configuration的直接先注释掉 那么运行测试类的查询所有 并不影响我们的使用 不写同样可以执行的原因是因为这里把SpringConfiguration这个类作为方法传入进去了 新建 SpringConfiguration里面的配置都剪切到JdbcConfig里面 运行测试查询所有的方法就 阅读全文
posted @ 2019-08-14 12:31 高山-景行 阅读(171) 评论(0) 推荐(0) 编辑
摘要:目前这个配置文件除了导约束就没有其他的内容了。 删除这个bean.xml文件 但是测试类里面还是读取的xml的信息 注解 查看ApplicationContext的 关系图 查看实现类的实现类 之前我们一直都应的是ClassPathXmlApplicationContext ClassPathXml 阅读全文
posted @ 2019-08-14 12:11 高山-景行 阅读(327) 评论(0) 推荐(0) 编辑
摘要:下面要解决第二部分的配置问题 这两行一出场,就表示可以通过调用构造函数实例化。因为这都是newInstance 上面的需要加上参数,下面的没有任何参数 下面这俩实现的效果不一样。 下面这个除了会创建对象,还会扔到spring的IOC容器中。前面的runner就是key后面的创建对象就是Value 上 阅读全文
posted @ 2019-08-13 23:55 高山-景行 阅读(169) 评论(0) 推荐(0) 编辑
摘要:解决测试类重复代码的问题,xml还是存在的问题,没法脱离xml文件 要想在QueryRunner上加注解,是加不了的 创建工程 复制依赖项到pom.xml 复制注解的工程里面的com文件夹 配置文件bean.xml也复制过来 再把测试类复制过来 要拿掉xml的配置 创建配置类 就需要有一个和xml功 阅读全文
posted @ 2019-08-13 23:41 高山-景行 阅读(322) 评论(0) 推荐(0) 编辑
摘要:注解改造案例 复制之前的xml配置的pom.xml里面的依赖。 复制com文件 bean.xml配置文件也拷贝过来 测试类也复制过来 开始基于注解的IOC配置 右键项目,选择maven。选择更新 更新后 ,所依赖的jar包就全都进来了。 注入的配置文件的开头 Service的bean配置都删掉 se 阅读全文
posted @ 2019-08-13 22:35 高山-景行 阅读(166) 评论(0) 推荐(0) 编辑
摘要:编写测试方法。 TestMehtod 生成测试方法 只需要改个名字叫做testFindAll 然后就复制这个方法,多复制几次改改名字 findAll方法 编写查询所有的代码 选中和这个方法,run 根据id1查询 save save的表明写错了 修改正确 mysql内修改后欧的数据 update 先 阅读全文
posted @ 2019-08-13 22:18 高山-景行 阅读(187) 评论(0) 推荐(0) 编辑
摘要:首先配置service对象,配置完Service对象就是注入dao对象。 但是现在没有dao对象,那就需要先配置dao对象。dao配置好以后。上线dao的注入就可以通过refs对象来注入这个dao了 我们大dao里面用到了QueryRunner这个对象 所有需要在dao的bean配置里面注入Quer 阅读全文
posted @ 2019-08-13 22:07 高山-景行 阅读(186) 评论(0) 推荐(0) 编辑
摘要:导坐标 创建数据库表 数据库内的表已经存在 首先写业务层的代码 定义findAll的方法 没有Account类。创建Account类 定义属性。生成getter和setter方法和toString方法 完善接口内的方法 定义接口实现类 实现接口的方法 添加IAccountDao的变量。生成sette 阅读全文
posted @ 2019-08-13 21:44 高山-景行 阅读(178) 评论(0) 推荐(0) 编辑
摘要:Scope 改成多例 PreDestory和PostConstruct PreDestory和PostConstruct这两个注解了解即可 增加两个方法,分别用注解 没有执行销毁方法。 如果你一个子类看成一个父类型那么就只能调用父类的方法。我们需要把它看成是自己。然后就可以调用自己的close方法, 阅读全文
posted @ 2019-08-13 20:17 高山-景行 阅读(179) 评论(0) 推荐(0) 编辑
摘要:@Qualifier 指定id为accountDao1 测试 如果把Autowired注释掉的话, 就会报空指针异常。就是没有注入进来 @Qualifier不能独立使用必须和Autowired配合使用 Resource Resource 总结 @Value 阅读全文
posted @ 2019-08-13 20:09 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要:运行出现了空指针异常 @Autowired 注解出现的位置 AutoWired的代码 常用的就是写类上和方法上。 运行测试,刚才运行是一个空指针异常 也就是通过Autowired 这个accountDao这个对象不为空了。 注入成功原理 自动按照类型注入。IAccountDao去Spring的容器里 阅读全文
posted @ 2019-08-13 20:00 高山-景行 阅读(550) 评论(0) 推荐(0) 编辑
摘要:为什么要使用者三个注解 Controller:表现层 Service:业务层 Repository:持久层 在这里就是用Controller 运行也没问题 用Service Repository同样也是可以的,这里不再尝试 dao内配置 测试dao的注解 总结 有些时候对象不属于三层的话,可以直接用 阅读全文
posted @ 2019-08-13 19:36 高山-景行 阅读(184) 评论(0) 推荐(0) 编辑
摘要:@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件。但是配置文件这里是空的。我们的bean里面什么对象都没有定义 需要有一行配置 spring的文档里面 搜索xmls:cont 把这一段复制过去 配置上之后 阅读全文
posted @ 2019-08-13 19:28 高山-景行 阅读(235) 评论(0) 推荐(0) 编辑
摘要:注解配置和xml的配置要实现的功能都是一样的。都是要降低程序间的耦合,只不过配置的形式不一样 打包方式改成jar 加入spring 的依赖 复制之前的代码过来 复制到我们新建的工程里 resurces下面的bean.xml也粘贴过来 项目的结构 接下来要把bean.xml里面的配置都使用注解来配置 阅读全文
posted @ 2019-08-13 19:13 高山-景行 阅读(161) 评论(0) 推荐(0) 编辑
摘要:适应配置的方式解决我们刚才的编码操作 -dist结尾的就是spring 的开发包 解压好的 这里面是约束 libs是扎包 三个为一组,实际上只有21个 自己在使用需要导入jar包的时候,选择这种没有任何 一般都是打开这个index.html IOC只能解决程序之间的依赖关系 接下来将用这个工程基础之 阅读全文
posted @ 2019-08-13 12:34 高山-景行 阅读(178) 评论(0) 推荐(0) 编辑
摘要:IOC的含义 new的方式创建对象,是主动去找对象。对我的资源独立就变的很难,因为这有明显的依赖关系 第二种方式创建对象。app断开了和资源的联系,。而是去找工厂要一个资源。由工厂负责和资源去的联系,并把想要的对象再转到应用系统 AccountServiceImpl使用上面这行代码也是完全可以找到自 阅读全文
posted @ 2019-08-13 12:27 高山-景行 阅读(232) 评论(0) 推荐(0) 编辑
摘要:一堆话总结 阅读全文
posted @ 2019-08-13 00:06 高山-景行 阅读(117) 评论(0) 推荐(0) 编辑
摘要:再复制一份,改名3 常用的注入方式,这里选择set saveAccount方法输出所有的对象 map需要导包 配置xml 集合类型的值配置方式 在property标签里面再写标签 这里选择array。array代表数组 里面用value配置 测试。访问accountService3 list Set 阅读全文
posted @ 2019-08-13 00:04 高山-景行 阅读(163) 评论(0) 推荐(0) 编辑
摘要:复制AccountServiceImpl类改名叫做AccountServiceImpl2 生成三个属性值的set方法。注入只需要set方法,并不需要get方法 配置bean,用到property这个标签 属性有name、value和ref这三个属性 输入name 提示的选择项有 age\birthd 阅读全文
posted @ 2019-08-12 20:44 高山-景行 阅读(147) 评论(0) 推荐(0) 编辑
摘要:在AccountServiceImpl内定义三个属性 这里关注点是这几种类型。基本类型的包装类Integer 还有String类型,也包含了其他bean类型。Date 定义构造函数并赋值 重点关注在数据类型上 配置文件中,这里已经开始报错了。这种方式是默认构造函数的形式。因为AccountServi 阅读全文
posted @ 2019-08-12 19:38 高山-景行 阅读(210) 评论(0) 推荐(0) 编辑
摘要:新建工程 改成jar包 加入spring的依赖 复制之前的工程代码 再复制配置文件 fac factory整个删除 构造函数也删除。删除后的代码。如下 配置文件中的注释都删除掉 spring中的依赖注入 能注入的类型 今天涉及三类类型和两种方式 阅读全文
posted @ 2019-08-12 19:16 高山-景行 阅读(138) 评论(0) 推荐(0) 编辑
摘要:区分单例还是多例对象 单例的几个状态 初始化方法和销毁方法 设置成我们定义的方法 测试 有创建和初始化。但是没有销毁,。对象一直没有销毁的方法 main方法是一切应用程序的入门。当main方法结束后。我们当前应用中线程占用的内存全部释放。这里当前也包含了我们的容器。 此时没来得及调用销毁方法就已经消 阅读全文
posted @ 2019-08-12 17:36 高山-景行 阅读(150) 评论(0) 推荐(0) 编辑
摘要:bean的作用范围调整。 我们的bean通常情况下都是一个单例的模式 Spring是否也知道这些都是单例 构造函数只走了一次。也就是spring这个对象默认情况就是单例的 scope属性 定义bean的范围 默认有这几种形式。默认是单例singleton 选择singleton查看到的效果。 如果改 阅读全文
posted @ 2019-08-12 17:13 高山-景行 阅读(165) 评论(0) 推荐(0) 编辑
摘要:目前这里能调用是因为,在service的实现类里面,new了一个dao的对象 正常情况下 这里不应该是new一个对象,应该等于null或为空 设置为空侯再运行就会报错 出错的原因是这里为null 需要讲完Bean的细节后。再来看上面的代码。 新建一个项目 配置打包方式 加入spring 的依赖 复制 阅读全文
posted @ 2019-08-12 16:26 高山-景行 阅读(215) 评论(0) 推荐(0) 编辑
摘要:核心容器的两个接口。ApplicationContext和BeanFactory 怎么知道对象被创建了呢 我们只需要在实现类里面构造函数内打印输出一段话 然后再这里加上一个断点 运行程序,光标停在这个位置 往下走一步。对象被创建了。这就是加载了配置文件。对象实例立马被创建了。 BeanFactory 阅读全文
posted @ 2019-08-12 00:12 高山-景行 阅读(199) 评论(0) 推荐(0) 编辑
摘要:如何找到接口的实现类 BeanFactory是核心容器的顶层接口 查看接口的实现类 接下来介绍这三个实现类 把bean.xml复制到桌面上面 运行测试程序 实际更常用ClassPathXmlApplicationConect 阅读全文
posted @ 2019-08-11 23:51 高山-景行 阅读(150) 评论(0) 推荐(0) 编辑
摘要:创建新项目 修改为jar包的方式 把上一个工程内的代码 java下的com复制过来 由于配置文件没有,所以一运行就会报错 factory文件夹整个删除 dao的实现类 这里删除 测试类保留这两行代码 加入spring 的依赖 导入我们的依赖里面就会出现这些jar包 给的资料里面的jar包和我们在项目 阅读全文
posted @ 2019-08-11 23:34 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要:资料地址 H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\讲义+笔记+资料\主流框架\32.会员版(2.0)-就业课(2.0)-Spring\spring\spring_day01\资料 只能解耦,降低程序间的依赖关系 开发包在里面已经提供 jar包 ,没三个是一组 阅读全文
posted @ 2019-08-11 22:38 高山-景行 阅读(180) 评论(0) 推荐(0) 编辑
摘要:AccountSeriveImpl这个类把找到dao实现类的权利交给了BeanFactory BeanFactory通过一个固定的名称后,再找我们想要的类, 这行代码有自己独立的控制权,找到哪个类 控制权发生的转移叫做控制反转。 控制权交给了工厂,带来的好处降低我们程序间的依赖关系。 阅读全文
posted @ 2019-08-11 22:32 高山-景行 阅读(170) 评论(0) 推荐(0) 编辑
摘要:遍历枚举 改造获取的方法,这样获取的对象就是单例模式 再次运行测试程序 对象只有一个实例的情况下对i这个值进行了反复的操作。当多个人活着多线程在使用时。这就会出现类成员变量由于第一个人的修改。后面看到的都是改过的数据。尽量不要定义成类成员变量。而是改成局部变量,定义到方法里面去。 把i定义到方法里面 阅读全文
posted @ 2019-08-11 21:42 高山-景行 阅读(205) 评论(0) 推荐(0) 编辑
摘要:循环打印 工厂了的打印先注释掉 打印出来了5次对象。 打印数字i同时,让i++操作。为了看他被常见了几次实例 调用保存的方法 没个都想都有一个唯一的实例。在创建对象的时候,重新初始化了i的值。所以i每次都1 因为每次都想都是新创建的 如果对象是个单例的,只有一个对象实例 newInstance方法表 阅读全文
posted @ 2019-08-11 21:30 高山-景行 阅读(161) 评论(0) 推荐(0) 编辑
摘要:使用类加载器去加载文件 定义getBean的方法 运行测试方法报错。 在工厂类里面打印输出BeanPath 删除dao的实现类 没有dao的实现类。再次运行程序。编译不报错。运行时报错 以上就是工厂模式解耦 阅读全文
posted @ 2019-08-11 21:19 高山-景行 阅读(158) 评论(0) 推荐(0) 编辑
摘要:先把dao的实现复制一份到别的地方。然后删除项目里面的AccountDaoImpl这个dao的实现类 删除 service层就开始报错了 这个时候运行直接报错 把文件复制回来就不报错了 解决依赖关系 实体类只是可重复组件的一部分。 javabean大于实体类 准备配置文件 使用properties, 阅读全文
posted @ 2019-08-11 21:02 高山-景行 阅读(192) 评论(0) 推荐(0) 编辑
摘要:创建新的项目 修改打成jar包 创建一个接口 用来模拟保存的方法 创建接口的实现类 我们没有IAccountDao这个类。那么就需要去创建Iaccountdao IAccountDao接口的创建 创建dao实现类 模拟测试 代码很强的耦合性,和依赖关系。代码的独立性很差 ,这是我们要解决的 阅读全文
posted @ 2019-08-11 20:22 高山-景行 阅读(198) 评论(0) 推荐(0) 编辑
摘要:编译时没有对应需要的jar包就报错。这特性就理解为程序的耦合 这种方式,它不是个错误而是个异常。编译的时候没有问题。运行时才会报错。 把注释的代码放开 程序可以正常运行 解决类之前依赖的思路 一个依赖的是具体的驱动类。第二个通过反射去创建依赖的只是一个字符串。这样可以减少耦合。这样同样导致的问题是。 阅读全文
posted @ 2019-08-11 20:04 高山-景行 阅读(235) 评论(0) 推荐(0) 编辑
摘要:通过maven可以看到这个资源不存在 找到本地仓库,mysql 5.17确实没有jar包 在pom.xml内把版本改成5.16 5.1.6在本地仓库内是完整的版本 运行我们的测试方法 把依赖注释掉 再次运行。这是编译器就遇到的异常 在实际写代码过程中,可能会遇到很多 在编译器就报错的,这就证明了这个 阅读全文
posted @ 2019-08-11 19:56 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:创建新项目。不选择骨架 打包方式选择是jar 增加mysql的包依赖 创建demo类来讲解程序的耦合 原来里面提供了sql语句。拿到mysql没执行 阅读全文
posted @ 2019-08-11 19:39 高山-景行 阅读(154) 评论(0) 推荐(0) 编辑
摘要:资料内提供了spring 的开发包 docs:文档 libs:jar包 schema:约束 阅读全文
posted @ 2019-08-11 19:02 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-11 18:57 高山-景行 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-11 18:54 高山-景行 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-11 18:53 高山-景行 阅读(205) 评论(0) 推荐(0) 编辑
摘要:spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的AOP配置 第四天:spring中的JdbcTemlate以及Spring事务控制 1、spring的 阅读全文
posted @ 2019-08-11 18:42 高山-景行 阅读(187) 评论(0) 推荐(0) 编辑
摘要:spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的AOP配置 第四天:spring中的JdbcTemlate以及Spring事务控制 阅读全文
posted @ 2019-08-11 17:08 高山-景行 阅读(169) 评论(0) 推荐(0) 编辑
摘要:执行两次都查询userId为57的数据。测试一级缓存 返回true 新建测试类 ,测试二级缓存 二级缓存的配置 首先是全局配置,不配置其实也是可以的。默认就是开启的。这里为了演示配置上 dao类里面进行配置 运行测试方法 只查询了一次 阅读全文
posted @ 2019-08-11 14:00 高山-景行 阅读(206) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示