
基础框架
文章平均质量分 85
Zh.晨光
《Java编程讲义》作者,华为认证讲师,微软MVP,ORACLE认证专家称号,,主要研究方向为JAVAEE、人工智能、AI/VR、算法 、机器视觉,曾经服务过中国铝业、中国烟草等央企,欢迎合作!
展开
-
JAVAEE框架技术之10-myBatis注解式开发
注解开发只需要写mapper接口即可,无需再书写对应的xxMapper.xml映射文件对于单表操作还是比较方便的,但对多表操作就维护起来就比较麻烦了。原创 2022-10-12 12:22:56 · 280 阅读 · 0 评论 -
JAVAEE框架技术之9-myBatis高级查询技术文档
Mybatis作为一个ORM框架,也对sql的高级查询作了支持,下面我来学习mybatis中的一对一,一对多, 多对多表分析导入课程资料中的数据库及实体类一对一查询: 查询订单,并且查询出下单人信息。一对多查询:查询订单,查询出下单人信息并且查询出订单详情。多对多查询:查询订单,查询出下单人信息并且查询出订单详情中的商品数据。代码实现一对多查询sql分析代码实现多对多查询sql分析代码实现ResultMap的继承回顾以上多表映射中resultMap映射中原创 2022-10-11 16:42:00 · 398 阅读 · 0 评论 -
JAVAEE框架技术之8-myBatis ORM框架技术参数和动态SQL语句
确切点是方法的输入参数,一般都是采用直接使用pojo类。此时在mapper.文件中的SQL语句不用再写parameterType属性,而是用arg0,arg1,arg2,arg3…或者param1,param2,param3…代替。原创 2022-10-08 20:17:19 · 678 阅读 · 0 评论 -
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
MyBatis是一个半自动化的orm框架,为什么说是半自动化的呢,因为他需要我们自己去写sql,而他做的更好的地方就是动态sql的支持上面,而上面说的各种技术,面对与动态sql只能自己写很多判断去组装sql,而这些判断和组装在mybatis中实现起来就非常简单了,完全由mybatis去帮我们实现了。操作db的过程、动态sql的拼装、结果和对象的映射,这些mybatis都帮我们实现的很好,而让我们将更多的经历花在sql的写法和优化上面,所以毫无疑问mybatis使用人数和公司也是最多的。原创 2022-10-06 23:46:01 · 634 阅读 · 0 评论 -
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。preHandle执行目标方法之前进行拦截;true 放行 false 拦截不放行postHandle在目标方法执行之后,进行增强在视图渲染完毕后,进行资源释放使用自定义拦截器,SpringMVC提供了 HandlerInterceptor 接口。我们重写preHandle、postHandle、这三个方法!/**原创 2022-10-04 23:24:43 · 442 阅读 · 0 评论 -
JAVAEE框架技术之5-springMVC参数绑定和异步交互
@PathVariable@RequestParam属性名属性值value参数名requiredtrue(默认) falsedefaultValue默认值,如果不给参数值,就走默认值普通serlvet获取参数值@RequestParam获取参数值@CookieValuePOJO对象绑定参数解决乱码问题通用页面跳转数组类型绑定复杂类型日期类型jsp和jstl视图解析器SpringM原创 2022-10-04 22:55:26 · 400 阅读 · 0 评论 -
JAVAEE框架技术之4springMVC入门
Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。它可以通过一套注解,让一个简单的Java类成为控制器,而无须实现任何接口。简单一句话:SpringMVC简化Servlet的开发!!总结:SpringMVC主要解决web层的代码,本质是Servletmv . addObject("msg" , "这是第一个springmvc程序!!");//设置视图名 hello仅仅是视图的名字 mv . setViewName("hello");原创 2022-10-04 18:19:47 · 539 阅读 · 0 评论 -
JAVAEE框架整合技术之spring03-SpringJdbcTemplate模板技术和事务处理
一个事务调用了另 一个事务,如果出现错误,两个事务是否属于同一个事务。原创 2022-10-01 10:58:20 · 536 阅读 · 0 评论 -
JAVAEE框架整合技术之Spring02-AOP面向切面编程技术
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 AOP 为 Aspect Oriented Programming 的缩写,意思为【面向切面编程】,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。原创 2022-10-03 23:24:16 · 459 阅读 · 0 评论 -
Cannot resolve MVC View解决方案
发现原因是:Cannot resolve MVC View。原创 2022-10-03 23:17:42 · 4363 阅读 · 0 评论 -
JAVAEE框架整合技术之Spring01-IOC教程
2.为什么要学习Spring最大程度的简化了开发大量公司使用顶尖的源代码3.Spring的发展历程2006年10月,发布 Spring2.02009年12月,发布 Spring3.02013年12月,发布 Spring4.02017年9月, 发布最新 Spring5.0 通用版(GA)方便解耦,简化开发AOP编程的支持声明式事务的支持方便程序的测试方便集成各种优秀框架降低Java EE API的使用难度Java 源码是经典学习范例一句话概括:Spring是一个轻量级的原创 2022-10-02 19:22:05 · 366 阅读 · 0 评论 -
MAVEN 傻瓜式快速教程
MAVEN 快速教程一.MAVEN概念和安装 Maven 是专门用于构建和管理Java相关项目的工具,Maven是意第绪语,依地语(犹太人使用的国际语),表示专家的意思。 所以用Maven管理Java 项目,你就是专家了 -_-!Maven 主要用处一:相同的项目结构使用Maven管理的Java 项目都有着相同的项目结构有一个pom.xml 用于维护当前项目都用了哪些jar包所有的java代码都放在 src/main/java 下面所有的测试代码都放在src/test原创 2020-06-06 17:09:49 · 538 阅读 · 0 评论 -
Lucene分类统计示例
需求在检索系统中,遇到了分组统计(Grouping/GroupBy)的需求,比如将搜索结果按照栏目分类,统计每个栏目下各有多少条结果。以前的做法很愚蠢,先发起一次search统计出有多少组,然后在每个组里发起一次search;这样在有N组的情况下一共执行了N+1此搜索,效率低下。改进最近发现Lucene提供了分组的功能,是通过Collector实现的,最多可以在2次search的时候得...原创 2020-03-27 08:58:39 · 772 阅读 · 0 评论 -
Shiro+SpringBoot 时,anon配置的匿名路径被拦截,自定义配置类走过的坑
最开始一直不去自定配置类,究其原因发现是少了:/** * Shiro配置类 */@Configuration少了@Configuration,这个注解配置。一路顺畅的走了下来:是不是要美滋滋的走上康庄大道了呢?发现:anon,匿名放行机制不管用哦。怎么回事呢?修改成了: //放行页面; filterMap.put("/testThy...原创 2020-03-08 00:18:48 · 4456 阅读 · 1 评论 -
springboot整合shiro地址栏JSESSIONID问题
第二次情形好了,就没有了sessionID1、client向server发送请求http://localhost:8081 2、server端经由shiro进行内部内部URL重定向至http://localhost:8081/login 3、server收到http://localhost:8081/login请求后,...转载 2020-03-07 23:08:25 · 2916 阅读 · 1 评论 -
SpringBoot中关于Shiro权限管理的整合使用
在整合Shiro的时候,我们先要确定一下我们的步骤:1.加入Shiro的依赖包,实现自己的Realm类(通过继承AuthorizingRealm类);2.实现Shiro的配置类3.实现前端的登录界面以及Controller类第一步:在pom.xml中加入依赖包<dependency> <groupId>org.apache.shiro...原创 2020-03-03 09:41:01 · 518 阅读 · 0 评论 -
Spring期末试题
Spring内测上机题需求描述:1、实现用户登录、登录失败依然留在登录页面,登录成功后,展示所有新闻的信息的功能,需要展示的新闻信息如下:编号、标题、内容、发布人姓名、发布时间2、实现新闻的添加功能数据表:用户表 字段名 字段描述 id 主键 name 用...原创 2020-02-29 09:37:21 · 2184 阅读 · 0 评论 -
Shiro过滤器源码
过滤器Shiro还提供了过滤器,可以配置我们的过滤规则,过滤规则对顺序是有要求的,短路优先原则,也就是前面的适配成功之后,就不会再适配后面的规则了。Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,直接查看DefaultFilter类。路径如下:org.apache.shiro.web.filter.mgtpublic enum Defaul...原创 2020-02-16 10:26:52 · 867 阅读 · 0 评论 -
Spring切面二使用注解
package com.IC;public interface PhoneBiz { public void buyPhone(int num); //购买手机; public void salePhone(int num); //销售手机}package com.bean;import com.IC.*;public class PhoneBizImpl implements原创 2016-12-28 20:38:57 · 963 阅读 · 0 评论 -
springMVC 统一异常处理异常处理类的使用
在项目开发中各层中都会不可避免的遇到各种可预知和不可预知的异常需要处理,为只专注业务逻辑的实现,需要将异常信息进行统一管理维护处理。 springmvc就是将异常层层向外抛出,最后由springmvc的前端控制器调用异常处理组件HandlerExceptionResolver(处理器异常解析器)进行处理————————————————统一处理某一类异常,能够减少代码的重...原创 2020-02-08 18:20:31 · 843 阅读 · 0 评论 -
跨服务器上传的时候问题
1.Exceptionorg.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.sun.jersey.api.client.UniformInterfaceException: PUT http://localhost:9090/uploa...原创 2020-02-07 23:32:04 · 679 阅读 · 0 评论 -
SpringMVC访问静态资源的三种方式
已经设置了springMVC的静态资源访问方式,但是依然出错:这种问题在于配置方式写错了,总结如下,针对SpringMVC有如下三种配置使用静态资源的方式:如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg,*.js,*.css的访...原创 2020-02-06 17:00:03 · 1689 阅读 · 1 评论 -
SpringMVC @ModelAttribute详解
@ModelAttribute一个具有如下三个作用:①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用;②暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择的所在城市等,而且在执行功能处理方法(@Reques...转载 2020-02-05 23:06:52 · 840 阅读 · 1 评论 -
SpringMVC之@requestBody的作用
1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。 2、通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然也可以...原创 2020-02-05 09:18:36 · 1984 阅读 · 0 评论 -
Error during artifact deployment. See server log for details解决办法
Error during artifact deployment. See server log for details的原因分析网上分析的原因也很多,网上的大部分的出错原因,比如原来可以现在不行了主要分析一、jar 包有有些没能识别,tomcat没有配置好!二、就是artifact没有配置好原来新建WEB项目的时候,直接使用的tomcat,现在在pom.xml里面加入了&l...原创 2020-02-02 10:17:06 · 8221 阅读 · 4 评论 -
Lombok介绍、使用方法和总结
1 Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增加一些“处理程序”,可以让...原创 2020-01-31 17:48:01 · 496 阅读 · 0 评论 -
idea打开ini文件以记事本方式修改
在创建shiro项目时,需要一个shiro.ini配置文件,但是IDEA无法读取出来,在项目中的打开方式,是以 txt 文件打开的,然后项目启动时,无法找到 ini 配置文件。解决 下载 ini4Idea 插件,使IDEA支持 ini 文件 设置:File—-settings—-plugins—-搜索 ini (或者 Ctrl+Alt+S快捷键) 安装ini插件,之后还是...原创 2020-01-30 09:29:42 · 1917 阅读 · 1 评论 -
mybatis多对多的问题汇总
1.只显示地址,不显示内容:结果显示 @Test public void searchUserRole(){ List<User>list=userDao.searchUserRole(); for(User u:list){ System.out.println(u); ...原创 2020-01-29 10:43:46 · 664 阅读 · 0 评论 -
mybatis的typeAliases别名
一、前言typeAliases是MyBatis中的别名处理器类,翻译过来就是别名的意思。别名处理器的作用就是把Java类型,给它起一个简单一点的别名,这样我们在XML文件中引入全类名的地方就可以使用别名替代。这样可以减少很多的工作量,节约开发时间。例如下面我们使用的是全类名:<select id="findByName" parameterType="string" resultT...原创 2020-01-27 18:21:12 · 832 阅读 · 0 评论 -
mybatis配置properties属性
MyBatis提供3个方式使用properties:1、property子元素。2、properties文件。3、程序代码传递。properties属性系给系统配置一些运行参数,一般放在XML文件或者properties文件,这样可以更好方便参数修改。文件名为:mybatis_config.xml。看一下properties属性与property使用方式。<?x...原创 2020-01-27 17:47:29 · 1176 阅读 · 0 评论 -
mybatis的SelectKey属性的作用
SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。使用mybatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。 属性 描述 keyProperty selectKey 语句结果应该被设置的目标属性。 resultType ...原创 2020-01-26 23:08:23 · 2181 阅读 · 0 评论 -
河南智游科技 超市管理系统
超市商品管理系统一、语言和环境A、实现语言 JavaB、环境要求 myEclipse, JDK6, Tomcat 6.0, oracle二、功能要求 某超市计划使用SSH(Struts2+Spring+Hibernate)框架开发一套商品管理系统,oracle作为后台数据库。其中“商品录入和显示”功能由你来完成。 要求实现:1.商品录入功能如图-1所示,。 其中:(1...原创 2017-10-05 12:26:46 · 1408 阅读 · 0 评论 -
大学期末考试SSH试题四
库房出库管理系统一、语言和环境a) 实现语言javab) 环境要求 JDK6、myeclipse 、tomcat6、oracle二、功能要求1、使用SSH(struts2+spring+hibernate)实现库房出库管理,oracle做为后台数据库具体要求如下进入应用首页,如图-l所示: 页面中“出库商品” 列表的数据来自数据库的商品表product,填充下拉列表时使用商品主键ID的值作为op原创 2017-10-01 14:44:44 · 3768 阅读 · 5 评论 -
Hibernate 关系映射
第 1 章主要讲解了 Hibernate,它是一个开放源代码的对象关系映射框架。通过对JDBC 进行轻量级的对象封装,使 Java 程序员能够随心所欲地使用面向对象的编程思维来操作数据库。作为目前最杰出的 0-R Mapping 框架,Hibernate 的核心是能够支持对象间关系的良好映射。在面向对象设计与实体模型关系中,对象间关系一般包括 4 种:一对一 ( one-to-one)、一对多 ...原创 2017-08-22 17:54:44 · 1051 阅读 · 0 评论 -
HIBERNATE 持久化基础
Hibernate 是一个开放源代码的对象关系映射框架,它通过对 JDBC 进行轻量级的对象封装,使 Java 程序员能够随心所欲地使用面向对象的编程思维来操作数据库。Hibernate 不仅提供了 Java类与数据表之间的映射,而且还提供了数据查询与恢复机制。相对于 JDBC 手工操作数据库而言,Hibernate 大大减少了操作数据库的工作量。另外,Hibernate 能够利用代理模式简化载入原创 2017-08-22 17:31:46 · 1610 阅读 · 0 评论 -
Struts 2常见应用
学习内容 Struts 2国际化 Struts 2的异常处理 Struts 2的文件上传与下载能力目标 熟练使用Struts 2实现国际化 能通过Struts 2的异常处理增强WEB应用的健壮性 使用Struts2实现文件上传与下载 本章简介本章主要介绍Struts 2的常见应用,主要包括Struts 2国际化、Struts 2异常处理和文件上传与下载。Internet把全世界联系在了一起,WE原创 2017-06-13 21:23:05 · 2019 阅读 · 0 评论 -
Struts2 类型转换和数据校验
学习内容Ø Struts 2类型转换Ø Struts 2数据校验能力目标Ø 熟悉Struts 2自带类型转换器Ø 能自定义类型转换器Ø 自定义输入校验功能Ø 熟悉Struts 2内置校验器本章简介Struts 2提供了功能强大的类型转换器来处理表现层数据,开发者可以利用Struts 2的类型转换机制来完成任意的类型转换。在应用开发中,对用户的输入进行校验是经常遇到的业务,Struts 2提供了多种原创 2017-06-12 06:23:33 · 1969 阅读 · 0 评论 -
Struts2 表单和非表单标签
学习内容Struts 2表单标签 Struts 2非表单标签能力目标 熟练使用Struts 2表单标签开发表单 熟练使用Struts 2非表单标签 本章简介上一章讲述了ognl和Struts2标签库中的数据访问标签和逻辑控制标签。本章将重点介绍Struts2标签库中的表单标签和非表单标签。表单标签主要用于生成HTML中的表单。非表单标签主要包含一些常用的功能标签,例如显示日期或树形菜单。熟练使用S原创 2017-06-02 08:46:01 · 2954 阅读 · 1 评论 -
Struts2的拦截器
Interceptor是在action前后执行,那么在action之后的处理如何实现呢?Struts2提供了一个抽象类Ar原创 2014-11-13 16:23:11 · 893 阅读 · 0 评论 -
Struts2 Property驱动和Model驱动
Property驱动模式更加简单,无须再次实现ModelDriven接口,也减少了一个Model类,Struts.xml文件也不必配置modelDriven拦截器.原创 2014-11-13 14:11:52 · 843 阅读 · 0 评论