Gradle 的默认仓库在国内下载太慢了,可以切换到国内的 Maven 镜像仓库,如阿里的 Maven 库,又或者是换成自建的 Maven 私服。
一个简单的办法,修改项目的 build.gradle,将 jcenter() 或者 mavenCentral() 替换掉即可:
1 | allprojects { |
大圣,此去欲何?踏南天,碎凌霄。若一去不回…… 便一去不回!
Gradle 的默认仓库在国内下载太慢了,可以切换到国内的 Maven 镜像仓库,如阿里的 Maven 库,又或者是换成自建的 Maven 私服。
一个简单的办法,修改项目的 build.gradle,将 jcenter() 或者 mavenCentral() 替换掉即可:
1 | allprojects { |
Spring 3.0 的一个新特性是 O/X Mapper
,下面简称 OXM
,O 代表 Object,X 代表 XML,它的目的是实现 Java POJO 对象和 XML 文档之间的互相转换。
Spring O/X Mapper 定义统一的接口,实现由第三方框架提供。要使用 Spring 的 O/X 功能,您需要一个在 Java 对象和 XML 之间来回转换的库,Castor 就是这样一个流行的第三方工具,本文将使用这个工具,其他这样的工具包括 XMLBeans、Java Architecture for XML Binding (JAXB)、JiBX 和 XStream。
JMS 可用于在不同应用之间通讯,而应用系统内部对象之间的通讯可以使用 Spring Event 来实现(JMS 也能实现同样的效果)。
Spring Event 的关键对象为 事件
、事件发送者
和 事件监听器
:
JMS 的全称是 Java Message Service,即 Java 消息服务,ActiveMQ 实现了 JMS 的接口。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息(生产者和消费者可以在同一个应用中,也可以不在同一个应用中)。应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。一个典型的应用例如用户注册后需要发送验证邮件,因为发送邮件是一个耗时任务,如果在注册的逻辑代码中发送邮件的话系统的响应就会很慢,可以在用户注册后立即返回,并把发送邮件的任务通过 JMS 发送到消息队列中,然后另一个专门负责发送邮件的服务从 MQ 里获取发送邮件的消息发送邮件。
如果是同一个程序里通讯的话,可以使用 Spring Event。
消息有两种类型:
点对点
: 一个消息只能被一个消费者接收处理发布/订阅模式
: 一个消息能同时被多个消费者接收处理消息生产者使用步骤:
消息消费者使用步骤:
onMessage()
方法会被自动调用程序运行前当然要先启动 ActiveMQ
掌握以下几个标签就能使用 Markdown 随意的写出漂亮的文档了,而且可以导出为 HTML, PDF 等給其他人看:
#
**
*
1.
*
[](URL)
[文字](URL)
![]()
>
2 个空格
或者 <br>
注解的目的是给类,属性,参数等提供一些元数据信息,例如标记类的用途(都是静态的数据,写程序的时候写死在代码里)。
注解有 4 个类型,最常用的是 @Target
和 @Retention
:
设置应用程序的图标,只需要修改 .pro
文件:
ICON = AppIcon.icns
RC_ICONS = AppIcon.ico
图标和 .pro 文件在同一个目录即可
有时在编译前需要准备一些文件,例如修改了 QtCreator 的编译输出目录: Build & Run > Default build directory
,使用 Promote 后需要在编译前把相应 Widget 的头文件复制到 .o
文件所在的目录,这时就可以在 .pro
文件中使用复制文件的命令(其实就是执行系统命令),让 qmake 执行这些命令来复制文件,而不是手动的复制需要的文件。
可以使用 qmake 时能执行系统的命令的特性来做很多事情,不只是复制文件。