SPRING常用注解及其作用
1)声明bean的注解
@Component是一种注解,用于标识一个类作为组件(Component)。组件是Spring中的一个通用术语,用于表示可被Spring容器管理和使用的对象。通过该注解,可以实现组件的自动扫描、实例化、依赖注入和配置管理等功能。
@Service是Spring框架中的一个注解,用于标识一个类作为服务层组件(Service)。服务层组件主要用于封装业务逻辑,提供业务功能的实现。通过该注解,可以将类标识为服务层组件,并交由Spring容器管理,享受依赖注入、事务管理、AOP等功能。它有助于提高代码的可读性和理解性。
@Repository是Spring框架中的一个注解,用于标识一个类作为数据访问层组件(Repository)。数据访问层组件主要用于封装对数据库或其他持久化存储的访问操作,提供数据的增删改查等功能。通过该注解,可以将类标识为数据访问层组件,并交由Spring容器管理,享受依赖注入、事务管理、AOP等功能。它有助于提高代码的可读性和理解性。
@Controller是Spring框架中的一个注解,用于标识一个类作为控制器层组件(Controller)。控制器层主要负责接收用户请求并处理请求,将处理结果返回给用户。@Controller注解,Spring容器能够自动识别并实例化控制器层组件,并能够自动将请求映射到对应的控制器方法进行处理。同时,控制器层组件也可以享受到Spring提供的其他功能,如依赖注入、事务管理、AOP等。
需要注意的是,@Controller注解是在Spring MVC框架中使用的,用于标识控制器层组件。在使用Spring MVC框架时,通过@Controller注解标注的类会被Spring MVC容器管理,用于接受和处理用户请求。而在非Web应用中,@Controller注解一般不会被使用,可以使用@Component注解代替。总结而言,@Controller注解是Spring框架中用于标识控制器层组件的注解,在Spring MVC框架中使用。通过该注解,可以将类标识为控制器层组件,并交由Spring MVC容器管理,实现用户请求的处理和结果返回。
2)注入bean的注解
@Autowired 属于Spring框架,由Spring提供,默认使用类型(byType)进行注入, 按照类型匹配失败,再按照名字ByName匹配;
@Resource是Java的注解.由JSR-250提供,Spring支持@Resource。@Resource首选按byName 自动注入,如果匹配失败再按照类型byType匹配注入。
简单理解,@Resource的作用相当于@Autowired。 @Autowired首选按byType自动注入,而@Resource首选按byName自动注入。
- Java配置类相关注解
@Configuration 声明当前类为配置类
@Bean 注解在方法上,声明当前方法的返回值为一个bean
@ComponentScan 用于对Component进行扫描
@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(
@Scope 设置Bean的作用域
@PostConstruct 由JSR-250提供,在构造函数执行完之后执行
@PreDestory 由JSR-250提供,在Bean销毁之前执行
@Value 为属性注入值
@PropertySource 加载配置文件
@EnableScheduling 在配置类上使用,开启计划任务的支持