- 博客(71)
- 资源 (1)
- 收藏
- 关注
原创 《Spring实战》学习笔记 - 第4章 面向切面的Spring
什么是面向切面编程切面能过帮助我们模块化横切关注点(影响应用多处的功能) 每个模块的核心功能都是为特定业务领域提供服务,但是这些模块都需要类似的辅助功能(例如: 安全和事务管理)AOP术语通知(Advice):定义了切面是什么以及何时使用通知类型: 前置通知: 在目标方法调用之前,调用通知功能后置通知: 在目标方法完成之后,调用通知功能返回通知: 在目标方法成功执行之后...
2018-08-28 23:11:13 327
原创 《Spring实战》学习笔记 - 第3章 高级装配
环境与profile配置profile bean在开发过程中,每个阶段的环境的配置有所不同,需要为每种环境重新构建应用。而通过Spring配置profile bean提供了解决方案通过注解@Profile来指定某一个bean属于哪一个profile,例如@Profile("dev")属于开发环境的profile,此bean只会在devprofile激活时才会创建@Profile可以和...
2018-08-24 23:17:33 216
原创 《Spring实战》学习笔记 - 第2章 装配Bean
Spring配置的可选方案在XML中进行显式配置在Java中进行显式配置隐式的bean发现机制和自动装配(建议使用自动装配)自动化装配Bean组件扫描(component scanning): Spring会自动发现应用上下文中所创建的bean示例: CD播放定义CD的概念public interface CompactDisc { ...
2018-08-23 21:19:27 341
原创 《Spring实战》学习笔记 - 第1章 Spring之旅
Spring概览Spring的使命: 简化java开发关键策略:基于POJO的轻量级和最小侵入型编程通过依赖注入和面向接口实现松耦合基于切面和惯例进行声明式编程通过切面和模版减少样板式代码依赖注入:传统的代码,让每个对象自己负责管理与之相互协作的对象的引用,将会导致高度耦合及难以测试public class BraveKnight implements Kni...
2018-08-22 22:59:29 267
原创 Eclipse中使用Maven
Maven插件安装在eclipse market中搜索maven,找到以下插件并且下载 安装成功后重启,在新建项目中可以看到Maven Project 导入Maven项目File-Import,然后选择Maven Project 然后在root directory中选择Maven项目的地址,选中project后,点击Finish即可导入 导入项目的目录结构 ...
2018-08-02 15:30:43 128
原创 Maven入门
Maven介绍Maven是一个项目管理和综合工具Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务Maven的优势跨平台服务于构建(自动化构建过程,从清理,编译,测试到生成报告,打包和部署)标准化封装构建过程(避免构建的重复)依赖管理工具(解决类库的依赖问题)项目规范化...
2018-08-02 14:07:22 97
原创 Spring MVC Spring Mybatis整合
导入相关jar包编写配置文件web.xml配置spring和spring mvc <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/jav...
2018-08-01 19:56:55 79
原创 Spring MVC拦截器
拦截器的实现实现HandlerInterceptor接口public class MyInterceptor implements HandlerInterceptor { //在请求的处理方法之前执行 //如果返回true,那么执行下一个拦截器,返回false,则被拦截 //可以通过request,response实现页面跳转 @Override ...
2018-08-01 16:59:47 79
原创 Spring MVC实现文件上传及AJAX
文件上传通过commons-fileupload实现配置springmvc的xml配置文件<!-- 配置解析器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property...
2018-08-01 15:16:01 187
原创 Spring MVC 乱码及Restful
解决乱码通过过滤器解决乱码spring mvc提供了CharacterEncodingFilter来解决乱码问题只能解决post的乱码问题 <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter....
2018-08-01 11:53:13 243
原创 Spring MVC页面跳转及数据处理
跳转结果的方式ModelAndView对象,根据View的名称和视图解析器跳转到指定页面页面: 视图解析器前缀 + view name + 视图解析器后缀 ModelAndView mv = new ModelAndView();//封装显示到视图中的数据mv.addObject("msg", "hello spring mvc annotation");//视图名m...
2018-08-01 10:26:23 671
原创 Spring MVC入门
MVC框架所做的事情将url映射到java类/java类的方法封装用户提交的数据处理请求,调用相关的业务处理,封装响应数据渲染响应数据,例如jsp,html,freemarker等spring mvc框架是一个轻量级,基于请求响应的mvc框架特点: 性能优于struts2简单,便捷和spring无缝集成约定优于配置(按约定编程),更加简单灵活能够进行简单junit测试...
2018-07-31 21:10:01 111
原创 Struts2 Spring5 Mybatis3整合jar包版本不匹配
Struts2.5.16Spring5.0.7Mybatis3.4.6问题:&amp;nbsp;在导入的jar包中,struts2-core-2.5.16和log4j-api-2.3版本不匹配,导致tomcat服务器无法启动错误提示:Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.int...
2018-07-24 11:22:38 531
原创 Spring整合MyBatis
Spring整合MyBatis基础的整合步骤(方法1)导入jar包 spring相关jar包 + mybatis相关jar包 + mysql相关jar包编写配置文件beans.xml(spring)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.o...
2018-07-23 16:42:47 130
原创 Spring AOP简介
AOP简介Aspect Oriented Programming面向切面编程AOP在Spring中的作用 提供声明式服务(declarative enterprise services),尤其是声明式事务(declarative transaction management)允许用户实现自定义切面以完善OOP AOP is used in the Spring Frame...
2018-07-20 21:57:08 111
原创 java静态代理和动态代理
静态代理设计模式静态代理角色分析:抽象方法 — 使用接口或者抽象类来实现真实对象 — 被代理的对象代理对象 — 代理真实对象,完成代理的任务,通常还会完成一些附属的操作客户 — 使用代理对象来进行一些操作(main方法)代码实现模拟房屋租赁的操作抽象角色 — rent.javapublic interface Rent { public void rent();...
2018-07-20 15:51:43 167
原创 Spring依赖注入方法
依赖注入依赖注入Dependency Injection 依赖 bean对象的创建依赖于容器bean对象依赖于资源注入 bean对象依赖的资源由容器设置和装配Spring依赖注入方式构造器注入官网API示例java代码package x.y;public class Foo { public Foo(Bar bar, Baz baz) { ...
2018-07-19 20:23:12 127
原创 Spring基础知识
SpringSpring优点轻量级框架(不具有侵入性)IoC控制反转AOP面向切面编程对事务的支持对框架的支持Spring框架内容 IoCInverse of Control — 控制反转对象原本由程序创建 -&amp;gt; 由程序接收对象更加侧重于业务代码的实现实现了service层和dao层的分离 -&amp;gt; 解耦(使得dao层和service层没有直接依赖关系,d...
2018-07-19 17:31:22 102
原创 struts2自定义框架
自定义框架自定义框架目录结构 创建framework.xml配置文件&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;framework&amp;gt; &amp;lt;action name=&quot;hello&
2018-07-19 12:14:40 186
原创 struts2实现AJAX & 处理JSON数据
AJAX实现使用ServletAPI实现AJAX和Servlet中的操作思路基本一致jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 T...
2018-07-18 15:04:50 850
原创 sturts2批量提交
数组/容器的处理:对于数组和容器,sturts可以直接将表单数据转化为对应的数据类型jsp页面&lt;form action="add.action" method="post"&gt; username:&lt;input type="text" name="name"/&gt;
2018-07-18 11:49:45 112
原创 MyBatis联表处理
多对一的处理数据库结构 实体类 public class Student { private int id; private String name; //多个学生对应一个老师 private Teacher teacher; public int getId() { return id; } pu...
2018-07-18 09:53:04 117
原创 MyBatis使用注解开发
面向接口编程便于程序的扩展接口满足共同的标准,便于开发,规范性更好分层开发,上层不用管具体的实现,类与类之间的耦合程度降低使用注解开发MyBatis编写Dao接口public interface UserDao { @Select("select * from user") public List<User> getList(); }在核心配置文...
2018-07-17 22:03:26 345
原创 MyBatis分页的实现
MyBatis实现分页通过在映射文件中传入Map类实现Mapper映射文件<!-- 查询所有用户 --><select id="selectAll" parameterType="Map" resultType="User"> select * from user limit #{startIndex}, #{pageSize}</selec...
2018-07-17 18:17:28 177
原创 MyBatis属性名和列名不一致
属性名和列名不一致entity类 mysql表单 问题: 名称不同的属性无法查询原因: MyBatis会根据查询的列名,为entity对象设置(调用列名的set方法)解决方法:为列名指定别名,别名和entity类的属性名一致<select id="selectUser" resultType="User"> select id, ...
2018-07-17 17:43:51 1399
原创 MyBatis配置文件解析及优化
配置文件解析核心配置文件&lt;configuration&gt; &lt;!-- enviromnents环境配置,mybatis可以配置多个环境 default指向默认的环境 每个SqlSessionFactory对应一个环境environment --&gt; &lt;environments default="de...
2018-07-17 16:44:22 191
原创 MyBatis入门
MyBatis基础持久化数据从瞬时状态转化为持久状态(即数据保存到可永久存储的设备中)持久层完成持久化工作的代码块(Data Access Object)MyBatis基于java的持久层框架便于数据库中数据的存储以及读取传统的jdbc操作有许多重复的代码块(例如:对于读取后的数据进行封装,数据库的建立连接等)。通过框架可以减少重复工作,提供工作效率是一个半自动化的OR...
2018-07-17 14:30:32 118
原创 struts2文件上传及下载
文件上传单文件上传struts2的文件上传功能通过commons-fileupload来实现jsp表单需要为post提交,并且enctype="multipart/form-data"<html> <head> <meta http-equiv="Content-Type" content="text/html; charset...
2018-07-16 23:18:19 2813
原创 struts2拦截器
拦截器拦截器interceptor:和过滤器类似,是在action执行前后执行的代码struts2的核心功能都是通过拦截器来实现拦截器栈:&amp;amp;amp;nbsp;由多个拦截器组成 多个拦截器之间的执行,是采用责任链设计模式实现和过滤器区别: 过滤器:&amp;amp;amp;nbsp;隶属于web容器,可以过滤一切请求,内部采用函数回调来实现拦截器:&amp;amp;amp;nbsp;隶属于sturts2框架,只能拦截acti
2018-07-16 12:53:44 105
原创 struts2验证机制
服务端验证Action继承ActionSupport类可以重写execute方法和validate方法@Override public void validate() { System.out.println(&quot;validate&quot;); if(age &amp;gt; 100 || age &amp;lt; 1) { this.addAc...
2018-07-16 10:32:45 144
原创 struts2类型转换
类型转换servlet:&nbsp;需要对表单提交的非字符串类型数据进行类型转换struts2:struts2对常见的数据类型已经自动进行了类型转换在自定义类型的情况下,struts2不能完成类型转换,需要手动转换,当转换需求较多时,使用struts2的类型转换器不进行类型转换entity:public class Point { private int x; ...
2018-07-15 21:27:20 115
原创 OGNL表达式简介
OGNL表达式表达式el表达式正则表达式ognl表达式使用简洁的表达式完成比较复杂的功能Object Graph Navigation Library对象图形导航语言优点: 能够访问对象的普通方法能够访问类的静态属性和静态方法强大的操作集合类对象的能力支持赋值操作和表达式串联访问OGNL上下文和ActionContext直接使用OGNL//原则:数据分...
2018-07-15 10:20:00 239
原创 Servlet API & ActionContext
Servlet APIstruts2获取servlet api的方式解耦 使得使用struts2来进行测试时,不需要启动服务器在一定程度上提高了开发效率一般情况下的分层结构:&amp;nbsp; action -&amp;gt; service -&amp;gt; dao耦合使用解耦:通过ActionContext对象获取session/request/parameter//获取sessio...
2018-07-14 22:21:38 124
原创 Action实现及属性驱动和模型驱动
Action类的实现方式定义一个pojo类(简单的JavaBean)public class PojoAction { public String execute() { System.out.println("pojo action"); return "success"; }}自定义一个普通的java类,不具有侵入性,便于更改实...
2018-07-12 22:44:46 645
原创 Java反射机制
Java反射机制概念在程序运行期间,能够获取类的属性和方法,能够调用对象的属性和方法(动态获取信息以及动态调用方法)Class对象:jvm会加载class文件到内存中,同时这个类会产生一个Class对象(Class对象自动产生,一个类只产生一个Class对象)Class对象的获取方法:Object.getClass():Class c = "abc".getClass();...
2018-07-11 19:05:12 85
原创 struts流程及配置
struts简单流程用户提交请求,服务器接收交给struts2的核心过滤器来进行处理,过滤器会调用一系列的处理器来进行处理: 解析struts.xml配置文件和用户请求进行比较,找不到返回404,找到进行下一步处理处理完毕后,调用对应的Action类中的execute方法执行完毕后再进行一系列处理,到达核心过滤器由核心过滤器返回给tomcat服务器,服务器对浏览器进行响应str...
2018-07-11 16:37:46 181
原创 struts框架基础
struts框架基础关于框架的学习:需要理解框架的底层原理(难点)掌握框架的规则struts2:目录介绍:apps:&nbsp;项目案例docs:&nbsp;学习文档lib:&nbsp;jar包src:&nbsp;strust2源码struts2使用:导入jar包配置web.xml文件&lt;filter&gt; &lt;filter-name&am
2018-07-11 13:22:54 112
原创 Servlet基础
ServletServlet:是一个java类服务器端的小程序通过http接受和响应web客户端的请求Servlet做的事情:接收请求获取请求数据调用业务处理—将处理结果封装到req/session/context响应结果Servlet的实现:实现Servlet接口继承GenericServlet类继承HttpServlet类编写servlet:通过继承父...
2018-07-07 22:22:41 101
原创 Listener监听器
监听器:用于监听事件,在事件发生前后,执行一些操作监听器操作的上下文:事件源:&amp;nbsp;发生事件的位置/对象监听器:&amp;nbsp;监听事件源,监听到事件发生后,调用事件处理监听模型是一个观察者模式模型图 Servlet中有6个事件和8个监听器...
2018-07-07 22:02:48 111
原创 session 和 cookie
session浏览器与服务器之间的一次会话,包含多个请求; 是服务器为每一位用户在服务器端开辟的一块空间(用来存储用户相关的数据信息): 包含sessionId(唯一),可以根据sessionId访问到用户自身的其他数据信息;获取session:req.getSession() (对象类型为HttpSession);向session中放数据:session.setAttribute...
2018-07-07 11:54:04 106
struts2 mybatis3 spring5 整合jar包
2018-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人