Spring 中@Component @Controller @Service @Repository注解的意思

xiaoxiao2021-02-28  70

    在annotaion配置注解中用@Component来表示一个通用注释用于说明一个类是一个spring容器管理的类。即就是该类已经拉入到spring的管理中了。而@Controller, @Service, @Repository是@Component的细化,这三个注解比@Component带有更多的语义,它们分别对应了控制层、服务层、持久层的类。  @Repository标签是用来给持久层的类定义一个名字,让Spring根据这个名字关联到这个类。  例如:  [java]  view plain  copy @Repository("userDao")    public class UserDaoImpl  implements UserDao{          ........................................       }   声明了UserDaoImpl  在Spring容器中叫userDao这个名字。 

@Service是用于服务层的IServiceImpl类文件,功能与@Repository类似。  另外标签:@Autowired 用来注入。  例如:  [java]  view plain  copy @Autowired    private UserDao userDao;   这样就注入进去了,相当于我们new了个实现类,我们就无需写setter方法了。 

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

[html]  view plain  copy <?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.syx.manager">            <context:include-filter type="regex" expression=".*DaoImpl"/>            <context:include-filter type="regex" expression=".*ServiceImpl"/>        </context:component-scan>    </beans>  

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

转载请注明原文地址: https://www.6miu.com/read-77471.html

最新回复(0)