spring知识点(个人记录)

本文介绍Spring框架的基础概念,包括Bean的注册方式、依赖注入的方法、Service层的实现机制及Bean的作用域。此外还探讨了Spring如何通过注解进行配置,并解析了AOP中的切入点表达式的定义。
摘要由CSDN通过智能技术生成
1、注册Bean:xml配置、注解方式(定义basePackage包)
2、依赖注入DI:setter方式注入、成员属性注入、构造器方式注册
3、service层注入:定义接口、定义接口实现、在接口实现类@Service注册Bean、在Controller层通过@Autowired依赖注册接口(不是接口实现类)
    原理:①注册接口没实际意义,
          ②service层实现接口是为了实现SpringJDK动态代理(需要接口)
          ③依赖接口是面向接口编程,如果有多个实现类则需用@Qualifier("xxx")指定具体的实现类,否则报错。
          ④事务处理拦截Service层的方法,非Controller层的代码
4、Bean定义范围:singleton、prototype
singleton:单例范围,整个Spring IOC容器中只有一个Bean的实例;
prototype:原型范围,每次请求都会创建一个新的Bean实例,Spring IOC容器不管理prototype bean的整个生命周期;

注释注入在 XML 注入之前执行,因此后一种配置将覆盖前两种方法连接的属性。
5、<context:annotation-config /> 注解配置
该隐式注册的后处理器包括 AutowiredAnnotationBeanPostProcessor, 
CommonAnnotationBeanPostProcessor, PersistenceAnnotationBeanPostProcessor,
以及RequiredAnnotationBeanPostProcessor
6、--切入点表达式定义aop:pointcut的expression
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern)
            throws-pattern?)
除了ret-type-pattern返回值类型、name pattern 方法名称、parameters pattern参数,其他都是可选的
通常使用 * 指定返回值类型,即任何返回值类型;
指定返回值类型,要类型全限定名,如java.lang.String
方法名称可以通过通配符 * 完全指定或部分指定
()指定没参数,(..)指定任意多个参数,(*)指定只有一个参数,任何类型都可以,
(*,String)指定两个参数,且第二个参数必须为String类型

至少使用within和execution来定义 within(com.xyz.service..*)

--在<aop:config>直接子元素定义的<aop:pointcut>可以被其他<aop:config>引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值