zoukankan      html  css  js  c++  java
  • IOC/DI-控制反转----AOP-面向切面编程-----SpringMvc框架

    1-spring管理bean的两种方式

    原理:Spring通过超大的Map集合来管理对象,默认条件下是单例的

    格式:Map<K,V>    key:bean的ID   /   @Bean注解的方法名

            value:实例化后的对象

    要求:容器中的对象的名称key,必须不同.

    -1-通过bean标签管理

    <bean id="a" class="com.tedu.controller.A"/>

    -2-通过bean注解管理

    @Bean
    public A a(){
       return new A();
    }        

    2-AOP的作用:为了扩展业务的方法,在代码中实现了业务解耦

     切面构造要素:切面 = 切入点 + 通知

    以AOP的形式解决事务控制问题:

    public void saveUser(User user){
        userMapper.insert(user);
    }
    
    public void updateUser(User user){
        userMapper.update(user);
    }

    @Component
    @Aspect
    public class TxAspect{
        /*事务/缓存/异常处理可能会使用环绕通知*/
        /*如果需要控制目标方法的执行,使用环绕通知*/
      @Around("execution(* com.jt.service..*(..))")
      public Object around(ProceedingJoinPoint joinPoint){
        try{
           TX.begin();
           joinPoint.proceed();//让目标方法执行
           Tx.commit();
        }catch(){
           Tx.rollback();
      }
    }

    切入点表达式:

    -1-Bean   按照某个Bean(类)拦截

    -2-within(包名.类名)  按照类拦截

    -3-execution(返回值类型 包名.类名.方法名(参数列表))

    -4-@annotaion(包名.注解名)

     3-SpringMvc

    SpringMvc是前台框架,与用户进行交互.底层将Servlet进行封装.

      简化程序员的操作的过程

    <input  name="username"  value="张三">

    <input  name="password"  value="123456">

                      [提交按钮]

    SpringMvc操作方式

      规定:方法的参数必须和页面中的name属性一致

    public String findUser(String username,String password){

    }

  • 相关阅读:
    Luogu P1160 【队列安排】
    Luogu P1566 【加等式】
    CF614A 【Link/Cut Tree】
    AT994 【11の倍数】
    Luogu P2310 【loidc,看看海】
    CF401D 【Roman and Numbers】
    【[国家集训队]小Z的袜子】
    UVA10212 【The Last Non-zero Digit.】
    Luogu P3384 【【模板】树链剖分】
    20161005 NOIP 模拟赛 T2 解题报告
  • 原文地址:https://www.cnblogs.com/B1ackWall/p/11571359.html
Copyright © 2011-2022 走看看