`
xieyan30
  • 浏览: 49068 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论
文章列表
很多时候我们要批量插入或者更新数据,很多人一般的做法就是在java逻辑bean中,循环批量的数据,一条一条插入。 现在介绍下mybatis的批量插入,即传入一个List类型的参数。   java类(逻辑类):假设我循环插入10条数据,在逻辑类中我模拟作了一个List。   SampleUser sampleUser = null; List<SampleUser> insertList = new ArrayList<SampleUser>(); for (int i = 0; i < 10; i++) { sampleUser = ne ...
以前做过的一个spring mvc框架的配置,最开始的时候全部是xml配置,事务管理没有问题,用的是拦截器那种。现在修改框架,为了使用方便,修改了配置文件,发现事物管理不好用了,求大神赐教。 我输出注入action的service,看到控制台的信息不是代理类的信息,是service本身类信息(LoginServiceImpl@19b4c30)。说明,事务没有加入到service。 也不想全部使用annonation,这样开发的时候,还需要给类或者方法追加annonation标记。 xml如下:applicationContext.xml   <?xml version=&qu ...
下面所有代码和示例仅仅是为了讲解spring aop,不能用于实际开发,因为实际没有这样用的,但是看看,理解下肯定是有好处的。 示例:对于更新或者删除用户来说,我们要进行事务管理,更新或删除之前要打开事务,之后要提交事务。 这里以更新来作为示例。 spring可以利用jdk或cglid来生成动态代理,我们直接利用cglib对类进行代理,不创建interface了。 UserService:   package spring3.aop.aop1; public class UserService { public void updUser() { System.o ...
前面我们说过jdk代理和cglib代理了,研究表明,谁研究的我也不知道哈, cglib所创建的动态代理对象的性能比jdk所创建的动态代理对象的性能高很多(10倍左右),但cglib在创建动态代理对象时所花费的时间比jdk要多(8倍),,所以对于单实例的代理对象或者具有实例池的代理对象,因为不需要频繁的创建代理对象,所以比较适用cglib动态代理对象;需要频繁的创建代理对象的,则适合用jdk动态代理对象。 spring两种技术都运用了。   增强:spring 适用它来创建横切逻辑(比如事务),spring只支持方法连接点,所以增强既包含了横切逻辑代码,也包含了连接点的部分信息(即在方法 ...
JDK的动态代理只能针对接口来实现,由Proxy.newProxyInstance()第二个参数能很清楚地意识到这一点。面向接口编程肯定有它自己的好处,但是如果很小很小的一个项目,我们要对每个业务类创建一个接口,也并不一定是件好事吧。 如果不创建接口,而要实现代理,我们需要用到cglib,它是一个第三方的jar包,需要额外导入。 cglib采用非常底层的字节码技术,可以为代理对象创建一个子类,并且在子类中采用方法拦截的技术,拦截所有父类方法的调用,并且织入横切逻辑。 注意,既然是为父类创建一个子类,那么final修饰的方法是不能继承的,所以final修饰的方法是不会被织入横切逻辑的。 ...
在「spring AOP (4) 基础知识-代理」中给大家讲解了什么是代理,有什么弊端。 java的动态代理比代理的思想更前进了一步。 首先我们要创建一个代理类,它必须实现java.lang.reflect.InvocationHandler接口。 DynamicProxyHandler:   package spring3.aop.aop3; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public class DynamicProxyHandler imp ...
想换工作了,不知道有没有公司要呢? 现在大连软件太不注重技术了,过于注重语言,语言只不过是技术的一个工具,过度看好语言,那直接让外语系的来做计算机好了,为什么要招计算机毕业的呢?长此这样下去,公司肯定会没落,单纯的外包已经不适合现在的环境了,解决方案和产品才是真正的出路。没有经验的外语人才能提出好的解决方案吗?干一个项目砸一个项目,我真心无语了。不知道怎么想的,整个项目组找不到几个编码的,全是测试人员和式样理解人员,那pg怎么发展??? 我以前不愿意带项目,现在更不想了。 se在我意识里,始终认为是pg经验足了,外语也到了一定水平了,才升为se,现在可好,招个外语系的就是se,能指导p ...
这篇文章主要讲解java的基础知识--代理。 代理其实是一种设计模式,下面的讲解是参照<<Java编程思想>>的内容。 我们先举个简单的示例来阐述什么是代理。 假如我们有一个接口Interface。 package spring3.aop.aop2; public interface Interface { public void do1(); public void do2(String str); }  我们在定义一个真实的类Target,来实现我们的接口Interface package spring3.aop.aop2; ...

spring AOP (3)

继续讲spring的术语: 增强:其实就是一段程序代码,比如管理事务的代码,在spring中,增强除了描述一段代码外,还可以描述执行点的方位(在前或者后),所以spring的增强接口都带方位名:BeforeAdvice,AfterAdvice,AfterReturningAdvi ...

spring AOP (2)

在spring AOP (1)中我举了个示例,我们可以看出业务逻辑(对user的操作)和非业务逻辑(事务操作)混合在一起。 利用aop,我们可以将业务逻辑和非业务逻辑分离开,但这不是最神奇的,最神奇的是,把分离开的非业务逻辑在合 ...

spring AOP (1)

aop到底是什么东西呢?和oop有什么关系呢,可以取代oop吗? oop是面向对象编程,你可以简单的认为:世界万物都是一个对象,你编写的代码只不过是对这些对象属性以及它动作的描述。 java的思想,其中一个特性是继承。就是把子类相同的动作或者属性抽出到父类,子类可以沿用父类的属性或者方法,也可以重写父类的方法。这样可以避免代码重复。 这里你可以思考下重写和重载的区别,温故而知新。(重载只一个类来说的,重写是对父类和子类来说的) 但是仅仅用继承有时候还达不到要求。 比如下面的例子,只是一个示例而已。 UserService   package spring3.aop.aop1; ...
我们模拟邮件发送来讲解事件的整个过程。 我们要讲解事件,首先我们需要定义一个事件。 MailSendEvent.java   package spring3.event.mailSend; import org.springframework.context.ApplicationContext; import org.springframework.context.event.ApplicationContextEvent; public class MailSendEvent extends ApplicationContextEvent { private ...
在事件体系中,有5个重要概念: 事件源 ⇒ 事件 ⇒ 时间广播器 ⇒ 事件监听器注册表(事件监听器)。 事件监听器注册表是保存事件监听器的地方。   spring的事件类结构 事件类:ApplicationEvent(Object source)ApplicationEvent 继承了java.util.EventObject, 有两个子类:ApplicationContextEvent和RequestHandledEvent。 ApplicationContextEvent有四个子类:ContextStartedEvent(容器启动),                     ...
最近一起带两个项目,一个php,一个imart8.0。 以后有时间再写吧。 天天加班,还好只是和客户或者bse交流,这边呢,指导下技术方面。 不参与实际编码,就是累。一会php,一会java,哈哈 脑袋在飞快运转。
今天开始带两个实习生做php(1)的框架个人觉得太垃圾了,于是重新写了一个。 首先是index.php,工程的入口。 index.php   <?php $url = 'app/login/Controller/LoginController.php?m=init'; ?> <html> <head> <meta http-equiv="refresh" content="0;url=<?php echo $url; ?>"> </head> ...
Global site tag (gtag.js) - Google Analytics