Content Table

RequireJS 加载非 AMD 的 JS

RequireJS 加载的 JS 要求是 AMD 规范的,但是非 AMD 规范的 JS 文件也能够加载,下面就以 Util.js 中定义了类 Rect,Circle 和普通函数 greeting() 为例,演示 RequireJS 对于非 AMD 规范的 JS 的配置,加载以及使用。

可以看到,使用 RequireJS 加载的 JS 中的类和函数,与使用 <script src="/js/Util.js"> 加载时的使用方式没有区别,如果要以 AMD 的方式使用非 AMD 的 JS,可以参考 http://www.bubuko.com/infodetail-671521.html

用 RequireJS 统一管理 JS 和 CSS

如果页面很多,每个页面里都使用 <script> <link> 来加载 JS, CSS,就会显得很分散,开发环境和生产环境中想要修改多处 JS, CSS 的路径时不够方便,例如生产环境使用七牛等 CDN 加载 jQuery,而测试环境不能访问外网,这时 CDN 就玩了(不要问我为什么,就是有人这么干,我被坑的不要不要的),只能把 jQuery 放到本地了,为此需要到所有页面里修改代码然后测试,很不方便。使用 RequireJS 后就可以集中的管理 JS, CSS,修改起来比较方便,也可以使用 Build 工具根据不同的环境进行修改。

下面介绍使用 RequireJS 加载 jQuery, Layer, Vue, SemanticUi。

PHP 快速入门

开发环境:可以使用 MAMP Download

经典的 Hello World

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>

<?php
echo "Hello World!";
?>

</body>
</html>
  • PHP 脚本可放置于文档中的任何位置
  • PHP 脚本以 <?php 开头,以 ?> 结尾
  • 语句以分号结尾 ;
  • 注释:# 单行注释// 单行注释/* 多行注释 */
  • 变量名对大小写敏感:$color$Color 是不同的变量
  • 用户定义的函数关键字(例如 if、else、echo 等等)都对大小写不敏感:Echo "Ok"echo "Ok" 是一样的效果
  • 输出内容到网页上用 echo
  • var_dump():会返回变量的数据类型和值,调试的时候很有用: var_dump(“text”): string(4) "text";
  • print_r:Prints human-readable information about a variable

Quartz 实现定时任务

定义一个定时任务,需要 Task, Job, Trigger, Scheduler 4 个类,其中 Task 是我们自定义的类,是任务的实现逻辑,另外 3 个类则是由 Spring 和 Quartz 提供的,在 Bean 的配置文件里配置即可。

AspectJ with Annotation

需要添加依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.1</version>
</dependency>

AspectJ with Xml

需要添加依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.1</version>
</dependency>

Qualifier

当找到多个同类型的 Bean 的定义时,@Autowired 注入的时候不知道要用哪一个,会报异常,可以使用 @Qualifier 指定要注入的 Bean。

@Resource 相当于 @Autowired 和 @Qualifier 的组合。

Autowired 注入

@Autowired 是基于类型的注入,Spring 会在 IoC 容器里查找类型匹配的 Bean 注入。

spring-beans.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="com.xtuer.beans"/>

<bean class="com.xtuer.beans.Door"/>
</beans>