栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习笔记

一、IoC --> 基于注解的DI实现

@Component
        定义Bean,value用于指定该bean的id值
        不指定value属性,bean的id是类名的首字母小写
@Repository
        持久层
        用于对DaO实现类进行注解
@Service
        业务层
        用于对Service实现了进行注解
@Controller
        控制层
        用于对Controller实现类进行注解

@Value
        简单类型属性注入
@Autowired
        byType自动注入
@Autowired & @Qualifier
        byName自动注入,需要两个注解联合使用
@Resource
        JDK注解,可以按名称注入或按类型注入
        默认:按名称注入
        注解若不带任何参数,采用默认按名称的方式注入,按名称不能注入 bean, 则会按照类型进
        行 Bean 的匹配注入。
        指定其 name 属性,则 name 的值即为按照名称进行匹配的 Bean 的 id。

二、AOP

JDK 的动态代理,与 CGLIB 的动态代理。
Aspect:切面
JoinPoint:连接点
Pointcut:切入点
Target:目标对象
Advice:通知

AspectJ对AOP的实现
        切入点表达式:

execution(modifiers-pattern? ret-type-pattern
    declaring-type-pattern?name-pattern(param-pattern)
    throws-pattern?)


前置通知
后置通知
环绕通知
异常通知
最终通知

        application.xml中需添加
       
        通知 Spring 容器,让容器生成“目标类+ 切面”的代理对象。这个代理是由容器自动生成的。自动扫描到@Aspect 注解,并按通知类型与切入点,将其织入,并生成代理。
@Aspect
        表示当前类是切面类
@Before
        前置通知
        属性:value 切入点表达式,表示切面执行的位置
        位置:方法的定义上面
        方法有JoinPoint参数,通过该参数,可获取切入点表达式、方法签名、 目标对象等。
@AfterReturning
        后置通知
        注解有returning属性
@Around
        环绕通知
        方法有ProceedingJoinPoint
@AfterThrowing
        异常通知
        注解有throwing属性
@After

        最终通知
@Pointcut
        定义切入点
        将@Pointcut注解在一个方法之上,以后所有的 execution的 value 属性值均可使用该方法名作为切入点。代表的就是@Pointcut 定义的切入点。这个使用@Pointcut 注解的方法一般使用 private 的标识方法,即没有实际作用的方法。

三、Srping集成MyBatis


        Spring读取配置文件

        声明事物注解驱动
        业务层public方法加入事物属性

@Transactional(
    propagation = Propagation.REQUIRED,
    rollbackFor = { NotEnoughException.class,NullPointerException.class})


AspectJ的AOP配置管理事务
        容器中添加事务管理器
        DataSourceTransactionManager
        配置事务通知


    
    ......
    


        配置增强器

    
    



    
       

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号