1. 流水灯实验 1.1 流水灯(位输出) ```c /******************* 实验名:流水灯 实验效果:流水灯(位输出) ****************/ #include #define uint unsigned int //16 0-65535 #define on 0 #define off 1
步骤: 1. 下载Node.js & yarn
springmvc 1. 响应数据和结果视图 1.1 返回值分类 1.1.1 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址。
SSM整合 整个项目结构截图
异常信息
multipart/form-data与x-www-form-urlencoded的区别 multipart/form-data:既可上传文件等二进制数据,也可上传表单键值对; x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。
springmvc 1. 搭建开发环境 1.1 创建项目
声明式
Spring面向切面编程AOP 1. 导包 aspectjweaver解析切入表达式 ```xml org.springframework spring-context 5.0.2.RELEASE org.aspectj aspectjweaver 1.8.7 ``` 2. spring中基于XML的AOP配置 2.1 配置步骤 把通知的Bean也交给spring来管理 使用aop:config标签表明开始AOP的配置 使用aop:aspect标签表明配置切面 — 在aop:aspect标签内部使用对应的标签来配置通知的类型 我们现在示例是让printLog方法在切入点方法执行之前之前:所以是前置通知 aop:before:表示配置前置通知 method属性:用于指定Logger类中哪个方法是前置通知 pointcut属性:用于指定切入点表达式,该表达式的含义指的是对业务层中哪些方法增强 2.2 切入点表达式的写法 关键字:execution(表达式) 表达式: 访问修饰符 返回值 包名.包名.包名...类名.方法名(参数列表) - 标准的表达式写法: public void xyz.slienceme.service.impl.AccountServiceImpl.saveAccount() - 访问修饰符可以省略 void xyz.slienceme.service.impl.AccountServiceImpl.saveAccount() - 返回值可以使用通配符,表示任意返回值 xyz.slienceme.service.impl.AccountServiceImpl.saveAccount() - 包名可以使用通配符,表示任意包。但是有几级包,就需要写几个*. * *.*.*.*.AccountServiceImpl.saveAccount()) - 包名可以使用..表示当前包及其子包 * *..AccountServiceImpl.saveAccount() - 类名和方法名都可以使用*来实现通配 * *..*.*() - 参数列表: 可以直接写数据类型: 基本类型直接写名称 int 引用类型写包名.类名的方式 java.lang.String 可以使用通配符表示任意类型,但是必须有参数 可以使用..表示有无参数均可,有参数可以是任意类型 全通配写法: * *..*.*(..) - 实际开发中切入点表达式的通常写法: 切到业务层实现类下的所有方法 * xyz.slienceme.service.impl.*.*(..)
JdbcTemplate的基本使用