Spring_Spring的特点】的更多相关文章

一.Bean的装配      bean的装配,即Bean对象的创建,容器根据代码要求来创建Bean对象后再传递给代码的过程,称为Bean的装配.  二.默认装配方式 代码通过getBean()方式从容器获取指定的Bean示例,容器首先会调用Bean类的无参构造器,创建空值的示例对象. 三.工厂方法设计模式(为了解耦合) public class ServiceFactory { public ISomeService getISomeService(){ return new SomeServi…
一.传统编程使用代理解决目标类增强问题 //主业务接口 public interface ISomeService { // 目标方法 void doFirst(); // 目标方法 void doSecond(); } ISomeService //目标类 public class SomeServiceImpl implements ISomeService { @Override public void doFirst() { // TODO Auto-generated method s…
一.AspectJ.Spring与AOP的关系 AspectJ是一个面向切面的框架,它扩展了Java语言.AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件.(百度百科) Spring又将AspectJ的对于AOP的实现引入到自己的框架中. 在Spring中使用AOP开发时,一般使用AspectJ的实现方式. 二.AspectJ的通知类型 前置通知 后置通知 环绕通知 异常通知 最终通知 三.AspectJ的切入点表达式 表达式中加[]的部分…
一.导入Jar包 二.定义实体类与DB表 public class Student { private Integer id; private String name; private int age; public Student() { super(); } public Student( String name, int age) { super(); this.name = name; this.age = age; } public Integer getId() { return i…
Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚.这个例外是unchecked 如果遇到checked意外就不回滚. 如何改变默认规则: 1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class) 2 让unchecke…
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码.使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍. 一.增加所依赖的JAR包1.增加Spring的Maven依赖 <dependency> <groupId>org…
一.Spring的事务管理 在Spring中通常可以通过以下三种方式来实现对事务的管理: 使用Spring的事务代理工厂管理事务 使用Spring的事务注解管理事务 使用AspectJ的AOP配置管理事务 二.Spring事务管理API (1)事务管理接口 1.PlatformTransactionManager接口有2个常用的实现类: DataSourceTransactionManager:使用JDBC或者iBatis进行持久化数据时使用: HibernateTransactionManag…
一.前置通知 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.l…
一.基本注解的使用 (1)导入AOP的Jar包 (2) 与set()无关 二.组件扫描器的base-package 三.@Component相关注解 四.@Scope 五.域属性的注入 (1)byType (2)byName方式 byName方式的注解式注入,要求@Autowired和@Qualifier联合使用 六.域属性注解@Resource 七.Bean的生命始末 八.JavaConfig . 九.使用Spring的JUnit4测试 导入Jar包 十.XML的优先级别高于注解…
一.注入分类 bean实例在调用无参构造器创建空值对象后,就要对Bean对象的属性进行初始化.初始化时由容器自动完成的,称为注入.根据注入方式的不同,常用的有2类:设值注入.构造注入.(还有一种,实现特定接口注入,采用侵入式编程,污染了代码,几乎不用). 二.设值注入 public class Student { private String name; private int age; private School school; public void setName(String name…