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

spring 注解

阅读更多

 

 

 

其中base-package为需要扫描的包(含所有子包) 
@Autowired后不需要getter()和setter()方法,Spring也会自动注入
@Qualifier指定注入哪个实现类
@Service用于标注业务层组件 
@Controller用于标注控制层组件(如struts中的action) 
@Repository用于标注数据访问组件,即DAO组件. 
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意)

 

实例解释:

该实例是添加@Component 后,spring在base-package扫描 后,执行afterPropertiesSet方法。

 package com.mifi.main;

import java.util.Map;
import java.util.Map.Entry;

import org.apache.log4j.Logger;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

import com.mifi.common.Dictionary;
import com.mifi.main.proxy.MifiServer;

/**
 *	初始化系统上下文静态常量
 */
@Component
public class Init implements ApplicationContextAware , InitializingBean{
	
	Logger logger=Logger.getLogger(Init.class);
	
	ApplicationContext context;

	@Override
	public void afterPropertiesSet() throws Exception {
		Map<String, Object> _map=context.getBeansWithAnnotation(MifiServer.class);
		for (Entry<String,Object> e:_map.entrySet()) {
			String name=e.getKey().replace("Impl", "");
			Class<?> _clazz=e.getValue().getClass();
			MifiServer _ms=_clazz.getAnnotation(MifiServer.class);
			if(null!=_ms)
				name=_ms.name();
			Dictionary.MIFI_SERVICES.put(name,e.getValue());
		}
		logger.info("["+Dictionary.MIFI_SERVICES.size()+"] server inited ");
		
	}

	@Override
	public void setApplicationContext(ApplicationContext context) throws BeansException {
		this.context=context;
	}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

1
0
分享到:
评论
1 楼 yzsunlight 2015-11-11  
通俗易懂,学习了

相关推荐

    spring注解使用详解

    【Spring注解使用详解】 Spring框架自2.5版本开始,引入了注解配置,使得开发者可以在不依赖XML配置文件的情况下实现Bean的定义和依赖注入。注解配置因其简洁、直观的特点,逐渐成为主流的配置方式。在本文中,我们...

    Spring 注解 小例子

    Spring注解的主要目的是消除XML配置文件,使开发者能够通过在类或方法上直接添加注解来声明对象及其依赖关系。这个小例子将深入探讨Spring框架中的主要注解及其用法。 1. `@Component`、`@Service`、`@Repository` ...

    Spring注解注入属性

    ### Spring注解注入属性 #### 一、传统方式与注解方式对比 在Spring框架中,依赖注入(DI)是一种核心的设计模式,用于促进松耦合的系统设计,使得组件之间的依赖关系可以在运行时动态地建立,而不是在编译时硬...

    Spring 注解 方式配制的小demo

    尽管我们无法直接访问这个链接,但我们可以基于常见的Spring注解配置实践来解释相关概念。 1. `@Component`:这是Spring中的基础注解,用于标记一个类为Spring管理的bean。它的子注解包括`@Service`、`@Repository`...

    hibernate+spring注解例子

    这个"hibernate+spring注解例子"项目提供了一个实际的登录场景,帮助学习者更好地理解和运用这两个框架的注解特性。通过深入学习和实践,开发者能够提高开发效率,降低出错概率,为构建高效、稳定的Java应用程序打下...

    spring注解 -----最简单的注解与自动装配例子

    总的来说,Spring注解极大地简化了Spring应用的配置,使得开发者可以更加专注于业务逻辑,而不是繁琐的XML配置。通过合理使用@Autowired、@ComponentScan等注解,我们可以构建出松散耦合、易于维护的系统。在实践中...

    最简单的一个spring注解实例

    本实例将深入探讨Spring中的注解使用,特别是如何创建一个最简单的Spring注解实例。 首先,我们需要了解Spring的核心组件——Spring容器,也称为ApplicationContext。这个容器负责管理应用程序中的bean,包括它们的...

    dwr+spring 注解方式

    1. **Spring注解配置**: - `@Configuration`:标记一个类为Spring配置类,可替代传统的XML配置。 - `@ComponentScan`:用于扫描指定包下的所有@Component及其子注解(如@Service、@Repository、@Controller)的类...

    spring注解笔记

    ### Spring注解知识点详解 #### 1. Spring注解基础 在Spring框架中,注解是一种轻量级的依赖注入方式,能够简化配置并提高开发效率。在本节中,我们主要介绍几个Spring中常用的注解,它们分别是@Component、@...

    我的博客spring注解概述的示例代码

    在这个"我的博客spring注解概述的示例代码"资源中,我们可能找到如何使用`@Autowired`来自动装配bean的实例。 首先,让我们了解什么是依赖注入。在面向对象编程中,一个类往往依赖于其他类来完成特定任务。依赖注入...

    Spring 注解学习手札(一) 构建简单Web应用

    在本篇《Spring注解学习手札(一)构建简单Web应用》中,我们将深入探讨如何使用Spring框架的注解来构建一个基本的Web应用程序。Spring框架是Java开发中的核心工具,尤其在企业级应用中广泛应用。它简化了依赖注入、...

    Spring 注解 入门

    Spring注解是Spring框架中的一个重要特性,它极大地简化了配置,提高了代码的可读性和可维护性。在本文中,我们将深入探讨如何使用Spring注解进行属性注入,并重点关注`@Autowired`和`@Qualifier`这两个关键注解。 ...

    Spring 注解.xmind

    Spring注解大全,注解整理方式采用思维导图工具(XMind)整理,对注解按自己的方式进行了分类,并对所有的注解在备注中进行了解释说明;

    spring注解

    spring注解详细

    Spring注解依赖包

    Spring注解所依赖的包。com.springSource.javax.annotation

    Spring注解驱动笔记.md

    Spring注解描述,底层笔记

    对Spring中注解怎么实现的一些基本原理

    本文将深入探讨Spring注解的基本原理,包括它们如何被解析、处理以及如何影响应用程序的生命周期。 首先,我们需要了解注解在Java语言中的本质。注解是一种元数据,允许程序员在源代码中嵌入信息,这些信息可以被...

    Spring注解驱动开发

    《Spring注解驱动开发》是一套帮助我们深入了解Spring原理机制的教程; 现今SpringBoot、SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解、原理,比如@Conditional、@Import...

    dubbo+zookeeper+spring 注解式开发demo

    例如,使用`@Component`、`@Autowired`等Spring注解,可以将服务提供者和消费者对象注入到其他业务逻辑组件中。此外,Spring的AOP(面向切面编程)能力也能帮助我们更好地实现服务的监控和日志记录。 在这个demo中...

Global site tag (gtag.js) - Google Analytics