- 浏览: 26545 次
- 性别:
- 来自: 上海
最新评论
文章列表
1.Controller中加参数
@Controller
public class TestController {
@RequestMapping("/test")
public void test(HttpServletRequest request) throws InterruptedException {
}
}
2.自动注入
@Controller
public class TestController{
@Autowired
private HttpServletRequest requ ...
@Transactional注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
proxy-target-class 属性值来控制是基于接口的还是基于类的代理被创建。
<tx:annotation-driven transaction-manager=“transactionManager” proxy-target-class=“true”/> 注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果prox ...
ZK是不会使用到javascript的AJAX.从技术角度说 它是一个基于组件,事件驱动模型的框架。
zk的文件是以zul为后缀的,实际上就是xml文件,这也造成了一些不便,例如在
<zscript></zscript>中嵌套到java代码 一些特殊符号是不能使用的,必须使用转义,如
< == < '=="之类;也可以在里面使用<![CDATA[...]]>嵌套java或者其他语言的代码 这样就无需使用转义了~
首先下载
先来个hello world!
这个是helloworld.zul
<window titl ...
MySQL Connector/J依赖配置
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
Druid依赖 ...
一个list引发的血案
- 博客分类:
- Java
其实用血案这个有点标题党的感觉,只为博君眼球,套个快过年时的万用语句,来都来了,就看完吧
我们有个业务系统跑了好几年了,一直很稳定,前端时间系统突然开始报内存溢出,分析定位,发现是这段代码的问题:
List ...
前几天部门有个活,需要对一些敏感信息字段进行脱敏,正好团队内部几个系统都有这个需求,
我一想,这不是个很好的应用AOP的场景吗?
正好刚重新温习了遍AOP,应用到实际场景的机会就来了。
撸起袖子,说干就干。
由于需求明确,实现起来很顺利,跑完UT后,结果一片飘绿,非常开心的推荐给相关的几个系统使用,我还得意得沉浸在学以致用的喜悦中没多久,A同学跑过来说,你这个AOP应用不到啊!
简直是当头一棒!
先讲一下我的实现方案:
1. 定义脱敏字段注解,对需要脱敏字段选择合适脱敏方法
@Target(value = {ElementType.FIELD})
@Retention(RetentionPo ...
最近项目中遇到内存溢出的问题,在测试环境重现后,用visualvm远程连接监控了下,内存溢出的问题之后再记录一篇博客进行详细分析,这里只记录下用visualvm远程连接tomcat
我是用jmx进行的远程连接,还有另外的方式,这里就不一一 ...
Https(Hypertext transfer protocol over Secure Socket Layer),以安全为目标的http通道,在http下加入安全层(SSL)。
作用:
1. 内容加密 - SSL
2. 身份认证 - 数字证书
3. 数据完整性
与http的区别:
1. http是明文传输,https是经过加密的具有安全性的SSL传输
2. http默认80端口,https默认443端口
3. https需要申请证书
4. http是无状态的连接,https是由SSL + http构造的可进行加密解密的连接
加密:
1. 对称加密 - 私钥加密
加密解密都用相同密钥的 ...
静态方法
Class<?> threadClazz = Class.forName("java.lang.Math");
Method method = threadClazz.getMethod("abs", long.class);
System.out.println(method.invoke(null, -10000l));
实例方法
Class myclass = Class.forName("xxxx");
...
很简单的一个例子,下面的代码是一个Test的标签,我希望它用来标记静态无参方法
在运行时,在方法上被检测到。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test {
}
一个简单的测试类,如何控制午餐静态 就是下面控制的
public class RunTest {
public static void main(String[] args) throws ClassNotFoundException {
Class testClass =C ...
随手记两个线程同步结束的例子
1.用Callable<V>
public class CallableThread implements Callable<Integer> {
@Override
public Integer call() throws Exception {
DateTime dt1 = DateTime.now();
String name = Thread.currentThread().getName();
System.out.println(name + " start on " + dt1) ...
做个备份,以备不时之需
//found all files end with bak and remove all these files
find -iname "*.bak" | xargs --no-run-if-empty rm
//check core file path
cat /proc/sys/kernel/core_pattern #//sysctl kernel.core_pattern
//retrieve content of keyword before & after 5 line
grep -A5 -B5 'ke ...
What are transaction attributes?
Spring transactions allow setting up the propagation behavior, isolation, timeout and read only settings of a transaction. Before we delve into the details, here are some points that need to be kept in mind
Isolation level and timeout settings get applied only after ...
最近碰到个combobox的问题,当combobox里面有多个相同的displayField,无论你选哪一个,只要组件失去焦点后,调用getValue()时总是返回第一个valueField,
通过debug源码,发现combobox的beforeBlur事件中调用了assertValue的方法,而问题就是出在这里,原因写在注释中:
assertValue : function(){
var val = this.getRawValue(),
rec = this.findRecord(this.displayField, val);
...
Vector和ArrayList的相同和不同点
- 博客分类:
- Java
作为一个刚接触java的人来说,一开始接触到Collection,肯定会听到两个集合类Vector和ArrayList,
它们的共同点如下:
1.都是容量大小动态可变的数组。
2.都可以快速随机的内部元素进行访问。
区别:
1.Vector是线程安全的,ArrayList不是。线程安全意味着一个时间点只有一个线程可以对这个对象进行操作,Vector之所以是线程安全的是因为它所有的方法都加了synchronized关键字。
2.性能。因为Vector的线程安全所以它较之于ArrayList会相对慢,假设我们有两个线程同时访问Vector的对象的某个方法,其中一个要等另外一个处理完释放掉 ...