复习spring总结

主要技术思想:IOC,AOP,事务
应用:整合框架

org.springframework
spring-context

org.aspectj
aspectjweaver

IOC控制反转

思想含义:我们只需要定义一个对象,将定义信息交由系统去实行创建对象行为。
spring实现思路:做一个容器,获取对象定义信息,通过定义信息来对对象进行初始化。对象定义信息中主要包含实例变量的初始化值和声明依赖注入。
编码需求:容器的配置,需要IOC的对象定义

  • 容器配置编写:可以写在xml文件中,也可以写在java文件中
    例:@Configuration
    @Import(“要加入的配置信息”) //加入另外的配置信息
    @ComponentScan(“需要IOC的对象定义信息所在包”) //配置IOC对象所在包
    @PropertySource(“properties文件路径”) //配置读取属性的路径
    class A{}
  • 要IOC的对象的定义编写:在对象对应的类上添加@Component标签表示要进IOC容器,在类的内部编写对象信息
    例:@Component(value=“id”)
    class A{
    @Value(“…”)
    private int a;
    @AutoWired
    private Object obj;
    }
    ps:@Repository,@Service,@Controller与@Component作用相同,但前三个特别写在Dao层类,Service层类,Controller层类上
  • 第三方包中配置IOC对象:自己在配置类中编写一个方法返回要进IOC的对象,给方法设置@Bean注解
    例:@Configuration
    class A{
    @Bean
    public Obj fun(Obj2 obj2){
    Obj obj=new Obj();
    obj.set… //相当于定义对象中的字段值
    return obj;
    }
    }
    ps:方法中的参数会自动依赖注入
    实际编码运用:导入依赖,new容器对象,将配置类传入参数,之后拿new出来的容器进行后续操作
    例:main(){
    AnnotationConfigApplicationContext contaner=new AnnotationConfigApplicationContext(***.class);
    Obj obj=container.getBean(…);
    System.out.println(obj);
    }

AOP面向切面编程

思想含义:为方法添加一些操作,但不改源码。
spring实现思路:获取对象信息和aop相关信息,两个信息组合起来去创建一个对象。
编码需求:方法修改信息,写在一个java文件中;在IOC容器上加@EnableAspectJAutoProxy
例:
@Component
@Aspect
class A{
@PointCut(“excution(public void com.zjh.User.getName())”)
private void fun1(){}
@Before(“fun1()”)
public void fun2(){
*****
}
}
ps:
上面的配置类中主要包含3个信息:需要附加操作的方法,附加操作,方法和附加操作的具 体匹配和附加方式。
表示需要附加操作的方法的式子有3个通配符:* , … , + 。
附加方式有5种(前3种常用):@Before,@After,@Around,@AfterReturning,@AfterThrowing。编写Around的附加操作时需要利用ProceedingJoinPoint对象表示需要附加操作的方法,并用proceed方法调用原方法。
JoinPoint对象是ProceedingJointPoint的父类,后者专用在Around附加中,前者就用在别的附加中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值