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框架的重要组成部分,也是理解SpringIoC(控制反转)和AOP(面向切面编程)的基础。 首先,注解(Annotation)是Java提供的一种元...
### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...
这篇学习Spring笔记将深入探讨这两个注解的用法、原理以及它们在实际开发中的应用场景。 `@Autowired`注解是Spring框架提供的一种依赖注入(Dependency Injection,DI)机制,用于自动装配Bean。它可以根据类型或...
Spring框架_day02笔记 Spring框架是Java平台上一个开源的应用程序框架,用于开发企业级应用程序。该框架提供了一个以Bean为中心的配置文件,并提供了依赖注入(Dependency Injection,DI)机制来管理应用程序中的...
【标签】:Hibernate, Annotation, 笔记, 总结, 注解 【正文】: Hibernate Annotation是Hibernate框架的一个重要特性,它允许开发者直接在Java类上使用注解来定义对象的数据库映射,从而避免了传统的XML配置文件...
Spring配置文件是Spring框架的核心组成部分,用于定义bean的创建、装配以及它们之间的关系。在本文中,我们将深入探讨Spring配置文件的相关知识点,以及如何有效地使用它们。 1. **XML配置文件** - **基本结构**:...
Spring笔记中提到的技术知识点主要围绕Hibernate框架展开,Hibernate是一个开放源代码的对象关系映射(Object/Relational Mapping,简称ORM)框架,用于Java环境。它对JDBC进行了非常轻量级的对象封装,使得开发者...
标题中的“Spring技术内幕 学习笔记”表明这是一份关于深入理解Spring框架核心机制的资料集合,主要关注Spring框架的内部工作原理和高级用法。描述中的“NULL”没有提供额外信息,但我们可以通过标签“源码”和...
### Spring2.5 学习笔记知识点概览 #### 第一课:面向抽象编程 - **概念理解**:面向抽象编程是一种设计模式,其核心思想是通过定义接口或抽象类来实现程序结构的设计,使具体实现与接口分离,增强系统的灵活性和...
这篇"Spring MVC 学习笔记 七 controller中其他可用的annotation"可能涵盖了除我们常见的`@RequestMapping`之外的其他注解,这些注解使得控制器功能更加丰富和灵活。下面将详细探讨Spring MVC中Controller相关的注解...
Spring学习笔记Spring spring的配置 IOC 依赖注入 基于Xml的注入 基于注释的注入 Spring的自动注入和属性自动注入 AOP 静态代理 动态代理 使用spring实现AOP 基于Annotation实现AOP 基于XML实现AOP ...
首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...
这篇“学习Spring笔记_AOP_Annotation实现和XML实现”主要探讨了如何在Spring中利用注解和XML配置来实现AOP的概念。 AOP,全称Aspect-Oriented Programming,是一种编程范式,旨在将关注点分离,让开发者可以更专注...
Hibernate: 第一课:第一个hibernate项目 第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... ...第五课:spring对AOP的只是(采用配置文件的方式)
### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...
本笔记将深入讲解Spring的核心概念和使用方法,帮助你快速掌握这一重要的技术。 1. **注解装配**:在Java世界中,注解(Annotation)是一种元数据,它可以提供额外的信息给编译器或运行时环境。在Spring中,注解被...
- **开始使用Annotation配置Spring**: 从Spring 2.5开始,提供了基于注解的配置方式。 - **@Autowired、@Qualifier**: - **@Autowired**: 自动装配依赖对象。 - **@Qualifier**: 解决多个相同类型的Bean导致的歧义...