Spring框架 基于注解配置(四)
来源:互联网 发布:linux中sleep函数 编辑:程序博客网 时间:2024/05/17 01:03
一、为什么要使用注解?
- 它可以充分利用 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框架的注解开发常用注解,总体感觉还是比较简单,最起码相对其它两个框架而言,主要是通过注解完成对象的管理,和对象之间的组合,即Spring的IoC功能。注解的开发还是能大大提高我们的开发效率的,但是还是那句话,它在一定程度上违背了OCP原则,所以大力推荐使用注解的开发的前提还是我们的需求比较固定,变动较小。
0 0
- Spring框架 基于注解配置(四)
- Spring框架 AspectJ注解配置(四)
- (十三)Spring框架——基于注解的配置
- spring框架基于注解的容器配置
- Spring(四)基于注解配置IOC容器&基于注解实现声明式事务
- Spring(四)基于注解配置IOC容器&基于注解实现声明式事务
- Spring 框架基于注解
- HzhJava框架搭建四:一个基于注解的spring程序
- spring 框架学习(四) 注解
- 07 Spring框架 依赖注入(四)基于注解的依赖注入
- spring知识四------基于注解的配置bean
- Spring框架总结——第二部分(基于xml配置+注解的方式配置IOC)
- 基于注解的Spring MVC 框架搭建及配置详解
- spring(四)之基于注解(Annotation-based)的配置
- Spring AOP使用配置介绍(四):基于@AspectJ注解的aop
- 16、SSM框架-Spring mvc基于注解的配置(3)
- Spring框架学习(10):基于注解的方式配置Bean
- spring基于注解的配置
- 第一个Java小游戏-猜位置游戏一维版
- phpStudy 使用 phpMyAdmin 出现2002错误
- GraphX源码解析(Graph构建过程)
- 互联网时代下,做营销更多是要学会讲故事
- git log简介
- Spring框架 基于注解配置(四)
- OpenGL基础图形编程(四)基础程序结构
- 写给自己的话
- 定高条块:.bar
- 伪代码模拟TranslateMessage内部实现
- LeetCode *** 100. Same Tree
- Unity Vector3.Slerp() 球形插值详解之二
- @synthesize和@dynamic区别
- 测试知多少