spring注解@Service注解的使用解析

 更新时间:2021年07月21日 10:09:28   作者:诗景莫  
这篇文章主要介绍了spring注解@Service注解的使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@Service注解的使用

要说明@Service注解的使用,就得说一下我们经常在spring配置文件applicationContext.xml中看到如下图中的配置:

<!-- 采用扫描 + 注解的方式进行开发 可以提高开发效率,后期维护变的困难了,可读性变差了 -->
<context:component-scan base-package="com.study.persistent" />

applicationContext.xml配置文件中加上这一行以后,将自动扫描指定路径下的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml配置文件中定义bean了,类似的还包括@Component@Repository@Controller

如这个类:

@Service("courseDAO")
@Scope("prototype")
public class CourseDAOImpl extends HibernateDaoSupport implements CourseDAO{
......
}

其作用就相当于在applicationContext.xml配置文件里配置如下信息:

<bean id="courseDAO"
      class="com.study.persistent.CourseDAOImpl" scope="prototype">
      ......    
</bean>

@Service("serviceName")注解相当于applicationContext.xml配置文件中配置的<bean id="serviceName">,表示给当前类命名一个别名,方便注入到其他需要用到的类中。

@Service注解也可以不指定serviceName,如果不指定相当于<bean id="com.study.service.serviceName">com.study.service.ServiceName就是这个类的全限定名,不加的话,默认别名就是当前类名,但是首字母小写。

@service注解的简介及使用范例

spring2.5之后出现的注解,就跟在spring配置文件里配置bean差不多的功能,就是让spring自动扫描管理组件,@Service@Controller@Repository@Component ,这四个其实是一样的功能,没有区别,只是在MVC模式上表示的层不一样,service一般标注在service层的bean上,controller标注在控制层,@Repository标注在view层,component通用。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Springboot中LocalDateTime对象返回给前端格式化解决方案

    Springboot中LocalDateTime对象返回给前端格式化解决方案

    在项目开发当中前后端使用什么样的时间格式,是一个值得关注的问题,这篇文章主要给大家介绍了关于Springboot中LocalDateTime对象返回给前端格式化的解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • 全面了解java中的异常处理

    全面了解java中的异常处理

    java中的异常处理是java语言中的一大重要特性,它分离了接收和处理错误代码。这篇文章非常详细的讲解了java中的这一特性,感兴趣的小伙伴一起来学习学习吧
    2021-08-08
  • 详解mybatis中association和collection的column传入多个参数问题

    详解mybatis中association和collection的column传入多个参数问题

    这篇文章主要介绍了详解mybatis中association和collection的column传入多个参数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • java实现合并2个文件中的内容到新文件中

    java实现合并2个文件中的内容到新文件中

    这篇文章主要介绍了java实现合并2个文件中的内容到新文件中,思路非常不错,这里推荐给大家。
    2015-03-03
  • Java实现的基于socket通信的实例代码

    Java实现的基于socket通信的实例代码

    Java实现的基于socket通信的实例代码,需要的朋友可以参考一下
    2013-03-03
  • Java Mybatis foreach嵌套foreach List<list<Object>>问题

    Java Mybatis foreach嵌套foreach List<list<Object>&

    在MyBatis的mapper.xml文件中,foreach元素常用于动态生成SQL查询条件,此元素包括item(必选,元素别名)、index(可选,元素序号或键)、collection(必选,指定迭代对象)、open、separator、close(均为可选,用于定义SQL结构)
    2024-09-09
  • java实现去除ArrayList重复字符串

    java实现去除ArrayList重复字符串

    本文主要介绍了java实现去除ArrayList重复字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • java web response提供文件下载功能的实例讲解

    java web response提供文件下载功能的实例讲解

    下面小编就为大家分享一篇java web response提供文件下载功能的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • SpringBoot 日志的配置及输出应用教程

    SpringBoot 日志的配置及输出应用教程

    Spring Boot 默认使用 SLF4J+Logback 记录日志,并提供了默认配置。本文我们将重点介绍Spring Boot日志的配置及输出。感兴趣的小伙伴可以了解一下
    2021-12-12
  • java实现简单汽车租赁系统

    java实现简单汽车租赁系统

    这篇文章主要为大家详细介绍了java实现简单汽车租赁系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01

最新评论