`

spring 注入 切面

 
阅读更多
  • Java 声明接口定义:

public interface ShopOperatorSearchDao {  

    @DAOAction (action = DAOActionType.QUERY, method = "selectParentCategory")
    public List<Integer> selectParentCategory(@DAOParam ("shopID") int shopID);

}

    <bean id="shopOperatorSearchDAO" parent="parentDao ">
        <property name="proxyInterfaces" value="com.dianping.shop.operator.dao.ShopOperatorSearchDao "></property>
        <property name="target">
            <bean parent="Main.daoRealizeTarget ">
                <constructor-arg value="ShopSearch "></constructor-arg>
            </bean>
        </property>
    </bean>

    <bean id="parentDao " class="org.springframework.aop.framework.ProxyFactoryBean " abstract="true">
        <property name="interceptorNames">
            <list>
                <value>daoAutoRealizerAdvisor </value>
            </list>
        </property>
    </bean>

    <bean id="Main.daoRealizeTarget " class="com.dianping.avatar.dao.ibatis.IBatisGenericDaoImpl " abstract="true">
        <property name="sqlMapClient" ref="Main.sqlMapClient" />
    </bean>

    <bean id="Main.sqlMapClient" class="com.dianping.avatar.dao.ibatis.spring.LimitSqlMapClientFactoryBean">
        <property name="dataSource" ref="Main.dataSource" />
        <property name="configLocation" value="classpath:/config/sqlmap/main/sqlmap-config.xml" />
        <property name="sqlConvert" ref="mysqlConverter" />
    </bean>

    <!-- The introduce interceptor for all Dao  -->
    <bean id="daoAutoRealizer" class="com.dianping.avatar.dao.DAOAutoRealizer " />

    <!-- The advisor for inject interceptor -->
    <bean id="daoAutoRealizerAdvisor" class="org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor">
        <property name="advice" ref="daoAutoRealizer" />
        <property name="expression" value="execution(* com.dianping..dao..*.*(..)) and !execution(* com.dianping.avatar..dao..*.*(..))" />
    </bean>

 

 

  • spring的使用:注入与new

spring:最大特点就是注入。

在有spring存在的项目中,spring 的注入要统一使用,类的一步一步引用,要么为全部注入,要么都不注入。否则会出错。
比如:一个类A没有使用注入,只是用new创建了一个实例化的类B的对象。则在B类中不能使用注入。否则会出错。因为被new实例化的类和spring实例化的类是不同的,在被new实例化的对象中被注入的内容为空。

分享到:
评论

相关推荐

    深度理解,自己实现java动态代理、自动注入、切面编程(类似于Spring IOC、AOP)

    自己实现java动态代理、自动注入、切面编程(类似于Spring IOC、AOP)

    spring最小依赖包

    3) spring-aop-3.2.8.RELEASE.jar Spring的切面编程 4) spring-beans-3.2.8.RELEASE.jar SpringIoC(依赖注入)的基础实现 5) spring-context-3.2.8.RELEASE.jar Spring提供在基础IoC功能上的扩展服务 6) ...

    springIOC核心组件分析.vsdx

    pring源代码各个模块作用 核心模块: 1 spring-core:核心模块 依赖注入IOC和DI的最基本实现 ...spring-aop:面向切面编程,CGLB,JDKProxy spring-aspects:集成AspectJ,Aop应用框架 spring-instrume

    史上最全 69 道 Spring 面试题和答案

    • 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开 • 容器:Spring 包含并管理应用中对象的生命周期和配置 • MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很...

    Web框架编程-Spring框架编程

    快速熟悉相关内容,编写基于Spring框架技术的依赖注入和面向切面编程的相关代码,掌握Spring框架技术中依赖注入和面向切面编程的具体过程和基本要素,具备编写具有松耦合和面向切面特点的应用程序的能力。...

    Spring Security、Spring Social 、Spring Security OAuth

    它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制...

    Spring框架 jar 架包 spring开发文档详解

    Spring BeanFactory Spring IOC(控制翻转)/DI(依赖注入) Spring Proxy Spring AOP 面向切面编程 Spring与JDBC整合 Spring声明式事务 Spring与Hibernate整合 Spring与Struts整合

    Spring插件安装图解

    面向切面编程(AOP --- aspect oriented programming) 容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期 框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 ...

    SpringSecurity.zip

    它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制...

    spring4示例代码

    spring-3 演示使用动态代理模式实现面向切面编程 使用注解方式进行AOP编程及使用配置xml方式进行AOP编程 spring-4 演示了spring与JDBCTemplate配合使用 spring-5 演示了声明式事务及使用xml配置文件处理事务

    Spring.NET控制反转(IoC)和面向切面(AOP)的容器框架

    Spring.NET 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理...

    Spring-Security-Demo

    在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术。本实例简单配置了springsecurity权限控制,提供admin,user两个用户,在页面登录时以不同角色可访问不同...

    Spring面试题含答案.pdf

    62. 解释基于 XML Schema 方式的切面实现 63. 解释基于注解的切面实现 64. 什么是 Spring 的 MVC 框架? 65. DispatcherServlet 66. WebApplicationContext 67. 什么是 Spring MVC 框架的控制器? 68. @Controller ...

    java面试Spring.pdf

    AOP(Aspect-OrientedProgramming),面向切面编程 Spring AOP里面常用名词的概念: Spring容器的启动流程 Spring Bean的生命周期? Spring中bean的作用域 说一下Spring基于xml注入bean的几种方式? Spring如何解决循环...

    spring4.0.zip

    面向切面编程(AOP — aspect oriented programming) 容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期 框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 ...

    spring源码详解

    (1)切面 (Aspect) 交叉业务,也就是通用的业务逻辑,比如日志、事务。 (2)通知(Advice) 切面的具体实现 (3)连接点 (Jointpoint) 切面可以插入的地点,主要有方法、属性 (4)切入点 ...

    Spring.html

    概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写. 专业术语 目标Target:需要增强的类 ...

    springboot 多模块 集成mybatis redis 日志 异常统一处理,切面拦截器

    springboot多模块项目,集成了mybatis,连接池,redis,日志,sql日志打印,异常统一处理,统一返回格式,mapper文件自动生成,generator xml ,切面日志和拦截器,sql注入过滤,解压即可部署打包启动,包含数据库...

    77道Spring面试题以及参考答案(2024年最新版)

    这篇文章总结了77道Spring面试题及答案,涵盖了Spring的多个核心主题,包括Spring概述、Spring控制反转(IoC)、Spring Bean、Spring注解、Spring数据访问和Spring面向切面编程(AOP)等。文章对每个主题下的重点问题都给...

    Spring Aop + 海绵宝宝 你的了解是

    Spring的核心特性包括依赖注入、面向切面编程、控制反转、以及各种集成支持。依赖注入(Dependency Injection,DI):Spring的最重要特性之一是依赖注入。它通过将对象的依赖关系交由Spring容器负责创建和管理,从而...

Global site tag (gtag.js) - Google Analytics