Spring框架 基于注解配置(四)

一、为什么要使用注解?

  • 它可以充分利用 Java 的反射机制获取类结构信息,可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。
  • 注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的 XML 配置文件,程序员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。
  • 因此在很多情况下,注解配置比 XML 配置更受欢迎,注解配置有进一步流行的趋势.............

二、如何使用注解?
       spring 框架使用的是分层的注解
* @Component   :泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
*@Repository  :用于标注DAO
*@Service  :   用于标注业务类

      @Controller  :用于标注控制器类


  (1)在applicationContext.xml文件中配置如下:

<!-- (1)导入注解 命名空间
   xmlns:context="http://www.springframework.org/schema/context"
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.1.xsd

-->

<!-- (2)导入DI的注解自动扫描机制
   base-package:自动扫描所在的包下面文件及子文件;
-->
<context:component-scan base-package="com.hlx.annotation.mvc"></context:component-scan>
  

(2)DAO类

 @Repository("studentDaoImpl")   // @Repository用于标注数据访问组件,即DAO组件。
public class StudentDaoImpl implements StudentDao {}

 (3)业务类

@Service   //@Service用于标注业务层组件
public class StudentServiceImpl implements StudentService {

	//底层数据
	@Resource(name="studentDaoImpl")
	private StudentDao studentDao;
}


 (4)Action类

@Controller   // @Controller用于标注控制层组件(如struts中的action)、
public class StudentAction {
   //业务数据
	@Resource(name="studentServiceImpl")
	private StudentService studentService;
}

   总之,为Spring框架的注解开发常用注解,总体感觉还是比较简单,最起码相对其它两个框架而言,主要是通过注解完成对象的管理,和对象之间的组合,即SpringIoC功能。注解的开发还是能大大提高我们的开发效率的,但是还是那句话,它在一定程度上违背了OCP原则,所以大力推荐使用注解的开发的前提还是我们的需求比较固定,变动较小。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值