`
moonkk1987
  • 浏览: 8850 次
社区版块
存档分类
最新评论

spring零配置Annotation笔记

阅读更多

    spring提供相关的几个Annotation来标注bean先列出来

 

@Component:标注一个普通的spring bean

@Controller:标注一个控制器组建类如action

@Service:标注一个逻辑控制类 service层

@Repository:标识一个持久化层Dao组件类

 

再列几个

@Scope:表示bean作用域使用方式:Scope("prototype")

@Resource:

@Autowired:自动装配默认按照type装配,如果需要按照名称装配则需要和下面相结合

@Qualifier  针对自动装配下面展示两种写法分别表示属性修饰和set方式修饰:

  @Autowired

  @Qualifier("namexxx")

  private XXXX xxxx;

-------------------------------------------------

  @Autowired

  public void setXxx(@Qualifier("namexxx") Xxx xxx)

 

用一个项目工程的小例子

包结构:

cn.life.routine

     ----action

    ----dao

  ------service

 

引入ContextSchema,spring配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context <a href="http://www.springframework.org/schema/context/spring-context-3.0.xsd">http://www.springframework.org/schema/context/spring-context-3.0.xsd</a>"
	>	
	<bean id="NoticeAction" class="cn.life.routine.action.NoticeAction" scope="prototype" />
       <!--注解测试,routine-->
      <context:component-scan base-package="cn.life.routine" />
</beans>

一次贴出service , dao

service接口
/**
 * 注解
 * @author Francis.Hu
 * @createDate Oct 21, 2012
 */
public interface TestService {

	/**
	 * 注解测试
	 * @return
	 */
	public String getTestAnnotation();
}
 
service 实现类
package cn.life.routine.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import cn.life.routine.dao.TestDao;

/**
 * 注解测试
 * @author Francis.Hu
 * @createDate Oct 21, 2012
 */
@Service("testService")
public class TestServiceImp implements TestService{

	/**
	 * 自动装配
	 */
	@Autowired
	@Qualifier("testDao")
	//@Resource(name="testDao"), 等价于<property ………… ref="testDao" />
	private TestDao testDao;
	
	public String getTestAnnotation() {
		return testDao.getTestDaoAnnotation();
	}

	public TestDao getTestDao() {
		return testDao;
	}

	public void setTestDao(TestDao testDao) {
		this.testDao = testDao;
	}

}
 
dao层接口
/**
 * 测试注解
 * @author Francis.Hu
 * @createDate Oct 21, 2012
 */
public interface TestDao {

	/**
	 * 得到dao层注解
	 * @return
	 */
	public String getTestDaoAnnotation();
}
 
dao层实现类
/**
 * 测试注解
 * @author Francis.Hu
 * @createDate Oct 21, 2012
 */
@Repository("testDao")
public class TestDaoImpl implements TestDao {

	public String getTestDaoAnnotation() {
		return "This is testDao Annotation";
	}

}
 
action中的调用
	/**
	 * 测试注解
	 * @return
	 */
	@Resource(name="testService")
	private TestService testService;
	public String testAnnotation(){
		String result = testService.getTestAnnotation();
		System.out.println(result);
		return SUCCESS;
	}
	public TestService getTestService() {
		return testService;
	}

	public void setTestService(TestService testService) {
		this.testService = testService;
	}
	/*********************测试结束******************************/
 
开发中没有绝对的xml配置或者绝对的零配置 ,只有合理的相互结合才能保证项目的可读性,高效性

 

分享到:
评论

相关推荐

    学习Spring笔记_Annotation(注解)_Component

    本篇笔记主要关注Spring中的注解(Annotation)和@Component,这两大概念是Spring框架的重要组成部分,也是理解SpringIoC(控制反转)和AOP(面向切面编程)的基础。 首先,注解(Annotation)是Java提供的一种元...

    spring使用annotation整合dwr笔记

    ### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...

    学习Spring笔记_Annotation(注解)_Autowired_Qualifier

    这篇学习Spring笔记将深入探讨这两个注解的用法、原理以及它们在实际开发中的应用场景。 `@Autowired`注解是Spring框架提供的一种依赖注入(Dependency Injection,DI)机制,用于自动装配Bean。它可以根据类型或...

    spring--day02笔记.doc

    Spring框架_day02笔记 Spring框架是Java平台上一个开源的应用程序框架,用于开发企业级应用程序。该框架提供了一个以Bean为中心的配置文件,并提供了依赖注入(Dependency Injection,DI)机制来管理应用程序中的...

    Hibernate Annotation 笔记 总结 注解

    【标签】:Hibernate, Annotation, 笔记, 总结, 注解 【正文】: Hibernate Annotation是Hibernate框架的一个重要特性,它允许开发者直接在Java类上使用注解来定义对象的数据库映射,从而避免了传统的XML配置文件...

    Spring 配置文件 和详细笔记

    Spring配置文件是Spring框架的核心组成部分,用于定义bean的创建、装配以及它们之间的关系。在本文中,我们将深入探讨Spring配置文件的相关知识点,以及如何有效地使用它们。 1. **XML配置文件** - **基本结构**:...

    spring笔记

    Spring笔记中提到的技术知识点主要围绕Hibernate框架展开,Hibernate是一个开放源代码的对象关系映射(Object/Relational Mapping,简称ORM)框架,用于Java环境。它对JDBC进行了非常轻量级的对象封装,使得开发者...

    Spring技术内幕 学习笔记

    标题中的“Spring技术内幕 学习笔记”表明这是一份关于深入理解Spring框架核心机制的资料集合,主要关注Spring框架的内部工作原理和高级用法。描述中的“NULL”没有提供额外信息,但我们可以通过标签“源码”和...

    spring2.5_学习笔记.

    ### Spring2.5 学习笔记知识点概览 #### 第一课:面向抽象编程 - **概念理解**:面向抽象编程是一种设计模式,其核心思想是通过定义接口或抽象类来实现程序结构的设计,使具体实现与接口分离,增强系统的灵活性和...

    Spring MVC 学习笔记 七 controller中其他可用的annotation

    这篇"Spring MVC 学习笔记 七 controller中其他可用的annotation"可能涵盖了除我们常见的`@RequestMapping`之外的其他注解,这些注解使得控制器功能更加丰富和灵活。下面将详细探讨Spring MVC中Controller相关的注解...

    Spring学习笔记

    Spring学习笔记Spring spring的配置 IOC 依赖注入 基于Xml的注入 基于注释的注入 Spring的自动注入和属性自动注入 AOP 静态代理 动态代理 使用spring实现AOP 基于Annotation实现AOP 基于XML实现AOP ...

    Spring2.5_学习笔记.doc.zip

    首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...

    学习Spring笔记_AOP_Annotation实现和XML实现

    这篇“学习Spring笔记_AOP_Annotation实现和XML实现”主要探讨了如何在Spring中利用注解和XML配置来实现AOP的概念。 AOP,全称Aspect-Oriented Programming,是一种编程范式,旨在将关注点分离,让开发者可以更专注...

    Spring和Hibernate学习笔记

    Hibernate: 第一课:第一个hibernate项目 第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... ...第五课:spring对AOP的只是(采用配置文件的方式)

    Spring3 MVC 学习笔记 入门

    ### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...

    Spring笔记整理.zip

    本笔记将深入讲解Spring的核心概念和使用方法,帮助你快速掌握这一重要的技术。 1. **注解装配**:在Java世界中,注解(Annotation)是一种元数据,它可以提供额外的信息给编译器或运行时环境。在Spring中,注解被...

    spring2.5学习笔记

    - **开始使用Annotation配置Spring**: 从Spring 2.5开始,提供了基于注解的配置方式。 - **@Autowired、@Qualifier**: - **@Autowired**: 自动装配依赖对象。 - **@Qualifier**: 解决多个相同类型的Bean导致的歧义...

Global site tag (gtag.js) - Google Analytics