`
xiang37
  • 浏览: 430680 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Eclipse中spring 的注解代理了实现类,加入断点

阅读更多

在实现类的第一行加个断点,在调试step into进入了代理的时候,Resume就会到达下一个断点,也就是进入了你所想要的实现类。

 

 

注意,在重启服务器时; 需要将此断点去掉,否则不能已Debug方式重启服务器,原因是:已Debug方式启动服务器时,服务器会扫描程序断点,一般情况下的断点,服务器都能扫描过去,但是对于这种注入式的断点,服务器无法通过,原因一,可能是对于spring或者其他框架代码加入断点后,无法通过服务器扫描;原因二,自己代码的影响。

 

package com.syit.common;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.DefaultBeanNameGenerator;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;

/**
 * 
 * Spring bean 命名策略生成
 */
public class MyBeanNameGenerator extends DefaultBeanNameGenerator
{
	/**
	 *	定义spring容器Bean名字与实现类的映射
	 *  比如GcbmglServiceImpl类,spring容器名字就是gcbmglService
	 */
	public String generateBeanName(BeanDefinition definition,
			BeanDefinitionRegistry registry)
	{
		try
		{
			Class<?> clazz = Class.forName(definition.getBeanClassName());
			String simpleName = ClassUtils.getShortName(clazz);
			simpleName = StringUtils.uncapitalize(simpleName);

			if (simpleName.endsWith("Impl"))
			{
				simpleName = simpleName.substring(0, simpleName.length() - 4);
			}
			else
			{
				simpleName = super.generateBeanName(definition, registry);
			}

			return simpleName;

		}
		catch (ClassNotFoundException e)
		{
			return super.generateBeanName(definition, registry);
		}

	}
}
    <context:component-scan base-package="com.syit"
   		name-generator="com.syit.common.MyBeanNameGenerator" />
分享到:
评论

相关推荐

    Spring MVC eclipse开发(Demo源码)

    使用@Controller注解标记类,用@RequestMapping或@GetMapping、@PostMapping等注解定义处理请求的方法。 5. **Model**: Model代表应用程序的数据模型,通常由JavaBean或POJO表示。Controller将数据封装到...

    编译后的spring源码,可直接导入eclipse

    3. **AOP(Aspect Oriented Programming, 面向切面编程)**:Spring提供了基于代理的AOP实现,允许开发者定义切面,实现跨切面的代码逻辑,如日志、事务管理等。 4. **数据访问/集成(Data Access/Integration)**...

    spring源码可导入eclipse版本 第二部分

    3. **阅读和理解源码**:在Eclipse中,可以逐个浏览类和方法,查看它们的实现细节,这对于理解Spring的工作原理非常有帮助。 4. **调试**:设置断点,运行Spring源码,可以深入理解框架在运行时的行为。 5. **实践...

    spring源码可导入eclipse版本 第三部分

    Spring AOP支持两种实现方式:基于代理的AOP和基于注解的AOP。 6. **模块结构** Spring框架分为多个模块,如Web MVC模块(用于构建Web应用程序)、Data Access/Integration模块(包括JDBC、ORM、OXM、JPA和Tx),...

    spring导入eclipse源码3.2.15

    9. **调试和分析**:在Eclipse中,你可以设置断点,启动调试器来逐步执行源码,查看变量的变化,这对于理解Spring的工作流程非常有帮助。 10. **实践与应用**:理论结合实践是最好的学习方式。尝试修改源码,然后在...

    SpringAOP的例子

    在这个"SpringAOP的例子"中,我们将深入探讨如何在Eclipse环境下利用Spring AOP和动态代理来实现这些功能。 首先,让我们理解什么是AOP。AOP是一种编程范式,旨在减少代码的重复性和增强可维护性。在传统的OOP中,...

    Spring源码

    在源码中,`DefaultAdvisorAutoProxyCreator`类是AOP代理的创建者,`MethodBeforeAdvice`、`AfterReturningAdvice`等接口定义了不同类型的前置、后置通知。 在Spring中,还有一套完善的事件发布和监听机制,通过`...

    spring demo,包含了完整jar

    这个"spring demo"压缩包提供了一个完整的示例,其中包含了运行Spring应用程序所需的全部JAR文件,这意味着你无需额外下载任何依赖就能在Eclipse集成开发环境中直接进行运行和调试。 **Spring 框架的核心概念** 1....

    eclipse框架包

    Eclipse是一款广泛使用的集成开发环境(IDE),尤其在Java开发者中极为流行。它提供了一整套工具,用于编写、调试和部署Java应用程序。Struts2则是一个基于MVC(Model-View-Controller)设计模式的Java web应用框架...

    spring 3.0 aop 实例

    JDK代理用于接口实现类,CGLIB代理用于没有实现接口的类。 4. **配置AOP**:在Spring 3.0中,可以使用XML配置或者注解方式来声明AOP。XML配置通过`&lt;aop:config&gt;`和`&lt;aop:advisor&gt;`等元素定义切入点和通知。注解方式...

    groovy入门经典,groovyeclipse 插件

    通过GroovyEclipse,开发者可以在Eclipse环境中舒适地编写、测试和运行Groovy代码,提高开发效率。 入门Groovy,首先需要了解其基本语法结构。Groovy的语法与Java类似,但更简洁。例如,类定义可以省略public关键字...

    spring tool suite 3-9-5

    8. **Debugging and Testing**:STS强化了Eclipse的调试和测试功能,特别是在Spring环境下的应用,如支持断点调试、单元测试和集成测试。 9. **代码补全和智能提示**:STS提供了强大的代码补全和智能提示功能,对于...

    eclipse-springboot配置运行教程

    在本教程中,我们将深入探讨如何在Eclipse IDE中配置并运行Spring Boot项目。Spring Boot以其简化Spring应用程序的创建和管理而闻名,它通过提供预配置的设置来消除繁重的初始化工作。Eclipse作为Java开发者的首选...

    在Spring Boot中实现大文件的分片上传功能教程

    这部分可以通过Spring MVC中的`@PostMapping`注解来实现。具体实现代码如下: ```java import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation....

    sts spring tool suit 4

    - **代码智能提示与自动补全**:STS4提供了强大的代码智能感知功能,对于Spring相关的注解、类和方法,能进行自动补全,提高编码效率。 - **Spring Boot启动器支持**:集成Spring Initializr,可以快速创建Spring ...

    spring-webmvc.rar

    Spring Web MVC是Spring框架的核心模块,它为构建Web应用程序提供了模型-视图-控制器(MVC)架构。这个"spring-webmvc.rar"压缩包包含了Spring ...在Eclipse中导入源码后,可以结合断点调试,更深入地理解其工作原理。

    springsource-tool-suite-3.4.0 Eclipse插件

    1. **代码智能提示**:提供对Spring XML配置文件的自动补全,以及对Spring注解的智能感知,帮助开发者快速编写代码。 2. **项目模板**:内置多种Spring项目的创建模板,如MVC、RESTful Web Services等,简化项目...

    maven-spring-mybatis

    【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...

    spring-tool-suite开发工具

    此外,Spring Data的支持使得数据库操作变得更加直观,可以通过简单的注解和模板来实现数据访问层。 在项目构建方面,STS集成了Maven和Gradle两种常见的构建工具,可以方便地进行项目构建和依赖管理。通过内置的Git...

    first spring boot

    但在一个典型的Spring Boot项目中,我们期望找到如pom.xml(如果是Maven项目)或build.gradle(如果是Gradle项目)这样的构建文件,src/main/java目录下会有包含主应用类(通常有@SpringBootApplication注解)和...

Global site tag (gtag.js) - Google Analytics