spring注解
1 @Resource和@Autowired
@Resource是j2ee的注解,@Autowired是spring的注解。
它们的作用是一样的,都是自动完成引用和bean的装配。
@Resource默认按照名称装配,@Autowired默认按照类型进行装配。
2 @Service @Controller @Repository @Component
这四者都是要告诉spring,给我生成被我们标记的类的Bean,这些Bean不用在xml中声明就可以直接拿来使用。它们并没有本质的区别,仅仅作为一个分类标签。@Repository @Component和@Service是可以互换使用的,并且不会出什么问题。@Controller用于spring mvc,servlet dispatcher会根据事先设置的路径将request转发给它们进行处理,所以其它三者不能和它互换。
<context:component-scan>会scan@component注释的类,但是它也会scan其它三个,因为其它三个本身是被@Component所注释的。
@Component
public @interface Service {}
@Component
public @interface Repository {}
@Component
public @interface Controller {}
@Rrepository和数据库访问有关,@Service是业务逻辑,它会调用@Repository中定义的方法来获取数据然后进行处理,然后再调用@Repository中的方法将处理后的数据写入数据库。
被这四个注解所标记的类对应的bean的名字:如果用小括号显示指定,那么,该名字即为该bean的名字,如果没有指定,那么该bean的名字为将被标记的类的类名去大写化,即把类名的第一个字母小写。
3 @Inject和@Named
这两个注解是JSR-330的一部分,从spring 3开始支持这些注解,它们的使用和spring的注解一样,只不过需要额外的jar包。
@Inject替代@Autowired执行注入,@Named替代@Component来声明一个Bean。
相关文章
- 发现了Spring的bug,领导带我出去一起爬山玩水了
- spring基于注解的声明式事务控制
- spring的依赖注入
- spring bean实例化方式
- Spring @Repository 注解
- Spring 最常用的几个注解
- Spring Boot 2.4 手工和 SDKMAN! 安装 Spring Boot 命令行
- Spring Mvc如何通过注解的方式设置视图解析器的优先级
- [转]Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- spring 实例化对象的3种方式
- springBoot 入门(六)—— 整合Spring框架开启自带的任务调度器执行任务(注解方式)
- 【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
- Spring Data JPA 查询结果返回至自定义实体
- spring mvc:注解@ModelAttribute妙用
- Spring学习5-Spring整合JDBC及其事务处理(注解方式)
- Spring 事务注解@Transactional
- spring boot实现动态增删启停定时任务
- spring成神之路第十七篇:@Configration 和@Bean 注解详解(bean 批量注册)
- spring注解
- Spring Web MVC(三)之注解
- Spring中声明式事务的注解@Transactional的参数的总结(REQUIRED和REQUIRES_NEW的与主方法的回滚问题)
- Spring声明式事务为何不回滚
- spring 3.x变通实现@Conditional注解的功能
- Spring的Java配置方式—@Configuration和@Bean实现Java配置
- Spring的@ExceptionHandler注解使用方法
- Spring之004: jdbcTemplate基本使用、Spring实物控制