Spring框架核心注解详解

需积分: 9 1 下载量 142 浏览量 更新于2024-09-05 收藏 18KB DOCX 举报
"这篇文档是关于Spring框架中常用的注解的收藏大全,涵盖了声明bean、注入bean、java配置类、切面(AOP)以及@Bean的属性支持等多个方面。" 在Spring框架中,注解是一种简化配置的方式,使得代码更加简洁易读。以下是这些关键注解的详细解释: 1. 声明bean的注解: - `@Component` 是最基础的注解,用于标记任何类型的组件,没有特定的角色。 - `@Service` 通常用于业务逻辑层(service层),表示一个服务组件。 - `@Repository` 用于数据访问层(DAO层),标记数据访问对象。 - `@Controller` 在展现层使用,声明控制器,处理HTTP请求。 2. 注入bean的注解: - `@Autowired` Spring提供的自动装配注解,可以根据类型或名称自动匹配并注入bean。 - `@Inject` 来自JSR-330,功能与`@Autowired`类似,但更简单,只基于类型进行注入。 - `@Resource` JSR-250提供,主要用于JSR-250规范中的依赖注入,可以按名称进行注入。 3. Java配置类相关注解: - `@Configuration` 标记类为配置类,等同于XML配置文件,可以声明bean。 - `@Bean` 用在方法上,表示该方法返回的对象是一个bean,替代XML中的bean定义。 - `@Configuration` 还可以与@Component一起使用,表明该类既是配置类,也是一个bean。 - `@ComponentScan` 扫描指定包下所有`@Component`、`@Service`、`@Repository`、`@Controller`注解的类。 - `@WishlyConfiguration` 是`@Configuration`和`@ComponentScan`的组合,简化配置。 4. 切面(AOP)相关注解: - `@Aspect` 标记一个类作为切面,包含切点和通知。 - `@After`、`@Before`、`@Around` 定义通知,分别表示后置、前置、环绕通知,可以传入切点表达式作为参数。 - `@PointCut` 声明切点,定义拦截规则。 - `@EnableAspectJAutoProxy` 在配置类上启用AspectJ的自动代理支持。 5. `@Bean`的属性支持: - `@Scope` 用于设置bean的作用域,如: - `Singleton`:单例模式,Spring容器内只有一个bean实例。 - `Prototype`:原型模式,每次请求都会创建新的bean实例。 - `Request`:在Web应用中,每个HTTP请求都有一个新的bean实例。 - `Session`:在Web应用中,每个HTTP session有一个bean实例。 - `GlobalSession`:全局session,适用于portlet环境。 了解和熟练使用这些注解,能够极大地提高Spring应用的开发效率和代码的可读性,减少XML配置文件的依赖,实现更加灵活和模块化的Java配置。在实际项目中,应根据具体需求选择合适的注解来组织和管理bean及其依赖关系。