zoukankan      html  css  js  c++  java
  • 解释@Component @Controller @Service @Repository

    对Spring的注解标签刚刚接触,所以就找了几个常用的,记录下,感觉注解用了之后,会在*.xml文件中大大减少配置量。以前我们每个Bean都得到配置文件中配置关联下。spring2.5后,引入了完整的annotation配置注解,使得我们的程序配置更简单更容易维护。

    @Component;@Controller;@Service;@Repository

          在annotaion配置注解中用@Component来表示一个通用注释用于说明一个类是一个spring容器管理的类。即就是该类已经拉入到spring的管理中了。而@Controller, @Service, @Repository是@Component的细化,这三个注解比@Component带有更多的语义,它们分别对应了控制层、服务层、持久层的类。

    @Repository标签是用来给持久层的类定义一个名字,让Spring根据这个名字关联到这个类。


    例如:

    @Repository("userDao")
    public class UserDaoImpl  implements UserDao{

       ........................................

    }

    声明了UserDaoImpl  在Spring容器中叫userDao这个名字。

    @Service是用于服务层的IServiceImpl类文件,功能与@Repository类似。



    另外标签:@Autowired 用来注入。

    例如:

    @Autowired
    private UserDao userDao;

    这样就注入进去了,相当于我们new了个实现类,我们就无需写setter方法了。

    我们还得有配置文件进行配置:

    <?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:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
        <context:annotation-config/>
        <context:component-scan base-package="com.zxr.manager">
            <context:include-filter type="regex" expression=".*DaoImpl"/>
            <context:include-filter type="regex" expression=".*ServiceImpl"/>
        </context:component-scan>
    </beans>

    这样就把com.zxr.manager包下的所有.*DaoImpl,.*ServiceImpl都注册关联到Spring容器中去了。

  • 相关阅读:
    解决Sublime 3提示 Sublime Text Error while loading PyV8 binary
    SQL中select与set的区别
    Microsoft Dynamics CRM 2011 安装完全教程
    sql语句优化
    CRM牛人博客
    Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
    Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
    Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
    Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
  • 原文地址:https://www.cnblogs.com/chenzhao/p/2367978.html
Copyright © 2011-2022 走看看