作用
作用:@Component
的作用是把普通的类实例化到Spring容器中。基于@Component
注解有三个扩展,分别是:@Repository
、@Service
、@Controller
。被以上四个注解标注的类,会被纳入到Spring容器中进行管理。同时我们可以创建自定义的注解,然后在自定义的注解上标注@Component
,那么自定义的注解便具有了与@Component
相同的功能。
用法
@Component
、@Repository
、@Service
、@Controller
这四个注解实际上没有任务本质的区别,只是后三者只是涉及一些命名规范而已,四者的注解效果确实一致。
@Componse: 标注一个普通的POJO实例化到Spring容器中,它是一个通用泛化的注解,当某个组件不能通过业务进行归类时,可以使用这个注解进行标注
@Controller: 用于标注控制层组件。
@Service: 用于标注业务层组件。
@Repository: 用于标注持久层组件。
定义
@Target({java.lang.annotation.ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Component {
//这个值可能作为逻辑组件(即类)的名称,在自动扫描的时候转化为spring bean,即相当<bean id="" class="" />中的id
public abstract String value();
}
参数
value
: 用于指定bean的id,摸认值是当前类名首字母改小写。
案例
使用案例如下:
@Component
public class User {
}
@Service
public class UserService {
}
@Controller
public class UserController {
}
原创文章,作者:jiafegn,如若转载,请注明出处:https://www.techlearn.cn/archives/26