- 博客(73)
- 收藏
- 关注
原创 typedef struct
typedef struct MyStruct{ int a; float b;}TagStruct;相当于以下两步:struct MyStruct{ int a; float b;};typedef /*struct(可省略)*/ MyStruct TagStruct;当然也可以改为指针的形式typedef struct MyStruct{ int a; fl...
2019-05-07 15:08:32 267
原创 C++对象的赋值与复制
赋值两个对象必须是同一个类Student stu1,stu2;~~~stu2=stu1;复制Student stu1;~~~Student stu2(stu1);总结对象的赋值是对一个已经存在的对象赋值,因此必须先定义被赋值的对象,才能进行赋值。而对象的复制则是从无到有的建立一个新对象,并使它与一个已有的对象完全相同。复制在哪些情况下被调用1Student stu2...
2018-12-28 16:45:23 419
原创 运算符重载
class Complex {public: Complex() { real = 0.0, imag = 0.0; } Complex(double real, double imag) { this->real = real; this->imag = imag; } Complex operator+ (Complex &amp
2018-12-28 16:36:51 227
原创 函数模板&类模板
函数模板template<typename T>T max(T a, T b) { return a > b ? a : b;}或者将typename改为class,即template<class T >T max(T a, T b) { return a > b ? a : b;}调用方式如下:int main() { int ...
2018-12-28 15:57:47 210
原创 ubuntu下jdbc连接mysql报java.sql.SQLException:Access denied for user 'root'@'localhost'
这是因为jdbc连接的时候没有root权限。如同我们非root权限时直接连接mysql一样,是连不进去的。我们可以在localhost下创建另一个用户,要与‘root’不同,赋予其全部特权。grant all privileges on *.* to 'lee'@'localhost' identified by '123456' with grant option;我试过给root用户...
2018-11-22 16:26:18 1335 3
原创 拦截器栈
多个拦截器同时生效时,组成了拦截器栈顺序:先进后出springmvc.xml配置先拦截1后拦截2<!-- 拦截器 --><mvc:interceptors> <bean class="com.lee.interceptor.DemoInterceptor"></bean> <bean class="com.lee....
2018-10-14 21:39:25 174
原创 自定义拦截器
跟过滤器比较像的技术发送请求时被拦截器拦截,在控制器的前后添加额外功能2.1 与AOP不同,AOP在特定方法前后扩充。(对ServiceImpl)2.2 拦截器,请求的拦截,针对点事控制器方法。(对Controller)SpringMVC拦截器与Filter的区别3.1 拦截器只能拦截Controller3.2 Filter可以拦截任何请求springmvc.xml配置所有的...
2018-10-14 21:17:41 146
原创 文件上传
基于apache的commons-fileupload.jar完成文件上传MultipartResolver作用:2.1. 把客户端才上传的文件流转成MultipartFile封装类2.2. 通过MultipartFile封装类获取文件流表单数据类型分类3.1. 在<form>的enctype属性控制表单类型3.2默认值application/x-www-for...
2018-10-13 19:51:10 109
原创 文件下载
导入jarcommons-fileupload-1.3.1.jarcommons-io-2.2.jar在jsp中添加超链接,设置要下载的文件在springmvc.xml中放行静态资源files文件夹<a href="download?fileName=my.log">下载</a>编写控制器方法将attachment改为inline就变为在能在网页上显示的就...
2018-10-13 16:25:57 232
原创 SpringMVC作用域传值的方式
使用原生Servlet在HandlerMethod参数中添加作用域对象@RequestMapping("demo") public String demo1(HttpServletRequest req, HttpSession sessionParam) { req.setAttribute("req", "req的值"); HttpSession session = req.ge...
2018-10-12 20:46:32 498
原创 jsp九大内置对象和四大作用域
九大内置对象request 类型 获取方式“”response 封装所有响应信息 获取方式“方法参数”名称类型含义获取方式requestHttpServletRequest封装所有请求信息方法参数responseHttpServletResponse封装所有响应信息方法参数sessionHttpSession封装会话信息req.get...
2018-10-12 18:39:02 143
原创 @ResponseBody
在controller类下的方法上只有@RequestMapping时,无论方法返回值是什么,都认为需要跳转。在方法上添加@ResponseBody则恒不跳转2.1 如果返回值蛮族key-value形式(对象或map)2.1.1 把响应头设置为application/json;charset=utf-82.1.2 把转换后的内容输出流的形式相应给客户端2.2 如果返回值不满足key-v...
2018-10-12 13:20:53 1754
原创 自定义视图解析器
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <pr
2018-10-11 19:24:58 516
原创 SpringMVC跳转方式
默认是请求转发这是返回值字符串内容 重定向2.1. 添加redirect:资源路径 重定向2.2. 添加forward:资源路径(可以省略) 转发@RequestMapping("demo8") public String demo8() { System.out.println("转发"); return "redirect:/main.jsp"; }...
2018-10-11 18:44:43 293
原创 SpringMVC参数传递(包含字符编码过滤器设置)
web.xml&amp;lt;!-- 字符编码过滤器 --&amp;gt; &amp;lt;filter&amp;gt; &amp;lt;filter-name&amp;gt;encoding&amp;lt;/filter-name&amp;gt; &amp;lt;filter-class&amp;gt;org.springfra
2018-10-11 17:22:49 953
原创 SpringMVC环境搭建
使用注解1 导入jar2 在wel.xml中配置前端控制器<?xml version="1.0" encoding="UTF-8"?><web-app version="4.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta
2018-10-10 21:32:43 130
原创 springMVC配置静态资源
一般情况下,在web.xml中我们配置的<url-pattern>/</url-pattern>,这样配置除了jsp都要拦截,这样当访问image、css、html时被拦截,这种情况下我们需要在springmvc.xml中配置静态资源。<mvc:resources location="/js/" mapping="/js/**"></mvc:resour...
2018-10-10 16:39:47 1012
原创 Spring容器和SpringMVC容器的关系
Spring容器与SpringMVC容器是父子关系------ 父------------------------子SpringMVC容器可以调用Spring容器
2018-10-10 16:28:16 279
原创 Spring常用注解
@Component 创建类对象,相当于配置<bean/>@Service 与 @Component 功能相同,建议写在ServiceImpl类上@Repository 与 @Component 功能相同,建议写在数据访问层上@Controller 与 @Component 功能相同,建议写在控制器类访问层上@Resource (javax自带注解),默认按照byName注入,...
2018-10-10 16:08:06 154
原创 SpringMVC重要组件
1 DispatchServlet:前端控制器,接收所有请求(如果配置“/”,则不包括jsp)2 HandlerMapping: 解析请求格式,判断希望执行那个具体的方法。3 HandlerAdapter:负责调用具体的方法。4 ViewResovler:视图解析器,解析结果,准备跳转到具体的物理视图。...
2018-10-10 13:42:45 408
原创 @WebServlet("/")与@WebServlet("/*")
@WebServlet("/") 这样配置时,不过滤(放行)jsp文件。只有jsp不进控制器(servlet),其他都进@WebServlet("/*") 过滤所有文件。
2018-10-10 13:20:53 3517 1
原创 事务回滚
rollback-for=“异常类型的全限定路径”例如rollback-for="java.lang.Exception"。虽然默认值是"java.lang.Exception",但是当手动剖出异常时,不会触发,所以建议手动给出"java.lang.Exception"当出现什么异常时需要回滚no-rollback-for=“异常类型的全限定路径”当出现什么异常时不需要回滚...
2018-10-10 12:59:30 158
原创 spring事务隔离级别
在多线程或并发访问下如何保证访问到的数据具有完整性脏读。一个事务A读取另一个事务B中未提交的数据,另一个事务中数据可能进行了改变,此时A事务读取的数据可能和数据库中的数据不一致,此时认为数据是脏数据,读取脏数据的过程叫做脏读。不可重复读(主要针对的是某行数据(或者是行中的某列),主要针对的操作是修改操作,两次读取在同一事务中)。当事务A第一次读取事务后,事务B对事务A读取的数据进行修改,事务...
2018-10-10 12:55:26 100
原创 声明式事务
编程式事务:指的是由程序员编写事务控制代码,包含事务的提交与回滚等。声明式事务:事务控制代码已经由Spring写好,程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制。声明式事务都是针对ServiceImpl类下的方法的事务管理器是基于通知(advice)的Service接口public interface UsersService { public int insert(U...
2018-10-09 23:02:36 280
原创 Spring加载属性文件(自动加载优先级问题)
正常情况下,spring整合mybatis的配置文件的dataSource部分如下 &amp;lt;bean id=&quot;dataSource&quot; class=&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot;&amp;gt; &amp;lt;property name=&am
2018-10-09 21:43:45 2732 1
原创 单例为什么这么写?
懒汉式(使用时才创建)public class Singleton { //3 由于getInstance的方法是静态的,静态方法中的内容必须为静态属性,所以singleton这个属性也必须是static private static Singleton singleton; //1 因为单例特性是只有一个实例对象,所以不希望外部随意new实例对象,所以构造器私有化 private Si...
2018-10-09 17:20:04 110
原创 Spring自动注入
注意,注入的是bean标签下property的name与另一个beasn的id相同时,可以省略例如当spring整合mybatis时&amp;lt;bean id=&quot;dataSource&quot; class=&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot;&amp;gt; &
2018-10-09 17:04:08 425
原创 schema-based实现方法的参数说明
AfterReturningAdvicepublic void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {}arg0是切点方法的返回对象,arg1就是切点方法,arg2是切点方法的输入参数,arg3是执行方法的对象测试代码public class MyAfte...
2018-10-09 16:16:19 445
原创 java中int转成String的三种方法
String.valueOf(int);Integer.toString(int);“” + int;
2018-10-08 19:47:41 7244
原创 反射
得到字节码的是三种方式:根据实例对象获取字节码信息String str = &quot;abc&quot;;Class&amp;lt;?&amp;gt; clz = str.getClass();根据类获得字节码信息(不会初始化静态块)Class&amp;lt;?&amp;gt; clz = String.class;根据类获得字节码信息(会初始化静态块)
2018-10-08 16:47:13 115
原创 cglib动态代理
导入jar包可以从mybatis的lib中找到asm-x.x.x.jar和cglib-x.x.x.jarcglib的优缺点优点:基于字节码,生成真实对象的子类,运行效率高于JDK动态代理不需要实现接口缺点:非JDK功能,需要额外导入jar包使用spring aop时,只要出现Proxy与真实对象转换异常,需要加上<aop:aspectj-autoproxy proxy-...
2018-10-08 15:18:34 106
原创 使用注解实现AOP
xml头文件中加入:xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/sprin...
2018-10-08 10:53:35 123
原创 AspectJ获取方法参数
切点类public class DemoService { public void demoMethod(String name, int age) { System.out.println("DemoMethod execute,name:" + name + " age:" + age); }}xml<bean id="demo" class="com.lee.s...
2018-10-07 23:14:02 1573
原创 AspectJ环绕通知
AspectJ的好处是可以将所有的通知写到一个类中,二schema-based需要不同的类实现不同的接口例如public class MyAdvice { public void beforeMethod() { System.out.println("before"); } public void afterMethod() { System.out.println("afte...
2018-10-07 20:39:25 305
原创 环绕通知(Schema-based方式)
把前置通知和后置通知都写到一个通知中,组成了环绕通知新建类,实现MethodInterceptor(方法拦截器)接口public class MyAround implements MethodInterceptor{ @Override public Object invoke(MethodInvocation arg0) throws Throwable { System.out...
2018-10-07 13:58:54 554
原创 AOP中scheme-base方式异常通知
1 新建类,实现ThrowsAdvice接口必须自己写方法,必须叫做afterThrowing用两种参数方式,(1个参数或4参)public class MyThrow implements ThrowsAdvice{//方法1 public void afterThrowing(Exception ex) throws Throwable{ System.out.println("...
2018-10-07 13:23:09 170
原创 AOP中AspectJ方式异常通知
1 只有在切点报异常才能出发异常通知2 在spring中AspectJ与scheme-base方式都提供了异常通知方法3 实现步骤3.1 新建类public class MyThrowAdvice { public void throwMethod(Exception e1) { System.out.println("thorw" + e1.getMessage()); }}...
2018-10-07 12:49:16 907
原创 实现
前置通知实现MethodBeforeAdvice接口重写before方法public class BeforeAdvice implements MethodBeforeAdvice{ @Override public void before(Method method, Object[] args, Object target) throws Throwable { System...
2018-10-05 20:45:56 117
原创 AOP常用概念
面向切面编程是什么?在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成切面的过程就叫做面向切面编程。原有功能:切点,pointcut前置通知:在切点之前执行的功能,before advice后置通知:在切点之后执行的功能,after advice如果切点的执行过程中,会出发异常通知,throws advice所有功能总称叫切面织入:吧切面嵌入到原有的功能的过程j...
2018-10-05 18:32:13 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人