- 浏览: 17433 次
- 性别:
- 来自: 南京
最新评论
文章列表
在开源世界里,有很多ORM框架使用,比如Hibernate,还有近几年用的比较多的Mybatis,关于这些框架的优点缺点,这里就不详细叙述,仅关注如何结合Spring和Mybatis。
1. Mybatis属性配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-co ...
参考知乎https://www.zhihu.com/question/30180100暗灭的回答。
这不是一个完整的前端开发技术,从暗灭的回答来看,主要涉及到以下内容
HTML基本标签,特别是form相关,层级标签相关
CSS,特别是位置相关,颜色相关
Nginx
Bootstrap
Less
Flex
虽然可能没办法按照参考答案的学习时间来进行,但是会尽可能的将答案中提及的知识点总结,写在这里,让自己快速入门前端开发。
感谢知乎上面各种大神人物的回答,让我这样的小白可以快速的学习知识
转载自
http://tutorials.jenkov.com/java-concurrency/volatile.html
Spring基础:数据访问(2)
- 博客分类:
- Spring
上一篇主要将了Spring JDBC的基本操作CURD,涉及到的类型也是基础类型,int,varchar,time,timestamp之类的简单类型,这一篇中主要说明在Spring中如何处理CLOB,BLOB类型数据。
1.操作BLOB/CLOB数据
BLOB被称作二进制对象,CLOB被称作大文本对象 ...
Spring JDBC通过模板和回调机制大大降低了使用JDBC的难度,以一种更直接,更间接的方式使API用户不用去关心资源获取,Statement创建,异常处理,资源释放等繁杂而乏味的工作,只需要去做那些必不可少的事。
以下例子都是基于Derby数据库的,这个数据库是JDK自带的,无需另外安装。
1.Spring-Jdbc初步
在Maven Project中使用JdbcTemplate的话,除了在POM的依赖中加上JDBC Driver,还要使用DataSource,有很多开源的数据库连接池,比如Commons-Pool,C3P0,我们在第一步中使用了Spring自带的DriverManag ...
基于Schema的AOP编程
基于AspectJ的AOP编程已经可以满足我们的编程需要,为什么这里还要做一套基于Schema的逻辑呢,这里有两个理由:
1.Java语言直到5.0才支持注解功能,所以在5.0之前的版本如果也想体验到AspectJ的便利,就需要使用特殊的方法。
2.AspectJ无法针对切面Advisor编程,但是Schema可以。
前置增强:
public class AdviceMethods {
public void preGreeting() {
System.out.println("--how are you--" ...
用UltraIso客户Ubuntu安装盘
- 博客分类:
- 疑难问题
以前用ISO直接客户Ubuntu安装盘,没有什么问题,但是最近在刻录之后,启动的时候总是报找不到SysLinux这样的才错误。后来发现要在刻录的时候将便捷启动这个选项里面加上,写入SysLinux,才能正常刻录。
以后再补充
基于AspectJ的AOP编程
AspectJ的切点函数非常精妙,基本上可以覆盖我们编程中可以遇到的所有连接点,因为Spring仅支持方法级别的切点,所以Spring中的切点函数是AspectJ中的一个子集。掌握切点函数即掌握了AspectJ语法的基础。
首先是在切点函数中需要使用的通配符的概念:
*:匹配任意字符
..:匹配任意字符,表示类的时候必须和*联合使用,表示入参时可以单独使用
+:表示匹配目标类以及目标类的子类
execution(),within()可以使用全部通配符。
args(),target(),this()仅能使用+通配符,不过使用和不使用的效果是一样的。
其他的切点 ...
基于切面的AOP编程
通过Advice,可以创建方法前,后,环绕之类的增强,但是这是类级别的增强,如果想要深入到方法级别,就需要配合使用切点Pointcut。Advice和Pointcut组合就形成了一个切面。切面增强就是基于方法层面的。
1.切点(Pointcut)
用于过滤类,getClassFilter()返回ClassFilter类,在这个类里面有一个方法用于判断该对象是否满足匹配条件,boolean matches(Class<?> clazz)。
用于过滤方法,getMethodMatcher()返回MethodMatcher,在该类里面有boolea ...
安装了Cygwin之后,有的时候我们重装系统之后,想将这个目录删除,但是这个时候会发现无法删除,因为提示没有权限。
我们右键属性,查看发现,因为Cygwin采用了类似Linux的权限管理,所以有一连串数字的用户,最后以?结尾 ...
基于ProxyFactory的AOP编程
Spring只支持方法连接点,包括了5种类型的增强。
前置增强
后置增强
环绕增强
异常抛出增强
引介增强
1. 前置异常
这里使用一个服务员作为例子,服务员向顾客打招呼,并且提供服务。首先我们创建一个服务员的接口,然后再创建一个不那么友好的服务员,他直接走到顾客面前就开始提供服务了。我们应该给他们做功课,让他们更加有礼貌一些。
public interface Waiter {
void greetTo(String name);
void serveTo(String name);
}
就是这个没什么经验的服务 ...
Java编程中的代理
Spring以IoC为基础,发展了另外一个底层组件,就是AOP。
AOP的含义是“面向切面的编程”,将业务无关的代码但是又和业务缠在一起的代码剥离出去。AOP是一个很复杂的概念,这里只是拿出冰山一角说明一下。
AOP的术语
1.连接点(Joinpoint):程序执行的某一个特定的位置:比如类开始初始化前,初始化后,某个方法调用的前后,方法抛出异常的时候,等等具有某一种边界性质的特定点都可以称之为“连接点”。
2.切点(Pointcut):感兴趣的点的集合,如果说连接点是数据库中存储的数据的话,那切点就是where子句查询出来的目标点了。
3.增强(Advice):有 ...
容器注入类型
最常见的注入类型是字面值注入,像String和基本类型的包装类在Spring中都是有属性编辑器帮助注入的。另外还有对象的注入,集合类的注入。
1.字面值
所谓字面值,一般是指可用字符串表示的值,这些值可以通过<value>元素标签进行注入。在默认情况下,基本数据类型及其封装类,String等类型都可以采取字面值注入的方式。
<bean id="car" class="com.firethewhole.maventest06.attr.Car">
<property name="maxS ...
在IoC容器中装配Bean
4.1.2.RELEASE版本的Spring支持3种配置方式
基于XML配置
基于注解
基于Java类
1.基于XML的配置
这种方式是经典方式,即使Spring不断发展,也必须向前兼容这种方式。装配一个Bean有3种方式。
1.1 属性注入
这种方式是最常用的方式,基于POJO类中的Set方法,为属性注入参数。
public class Car {
private int maxSpeed;
private String brand;
private double price;
// Getter ...
很多时候在创建Maven项目的时候,会被IDE告知,无法创建Maven项目,因为网络问题没办法在默认仓库下载,这个时候我们需要配置mirror节点,将国内的镜像加入。
这是阿里云的镜像源,还是挺好用的
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central< ...