Spring5.0+常用注释

本文详细介绍了Spring5.0中的关键注解,包括@Configuration、@ComponentScan及其子选项、@Scope、@Lazy、@DependsOn、@Condition、@Import、ImportSelector和ImportBeanDefinitionRegistrar,深入解析了这些注解在Spring框架中的作用和应用场景。
摘要由CSDN通过智能技术生成

1.Spring框架概念

        Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程)。

理念:每个bean与bean之间的关系统一交给SpringIOC容器管理

2.Spring体系结构

1、Spring Core:主要组件是BeanFactory,创建JavaBean的工厂,使用控制反转(IOC) 模式  将应用程序的配置和依赖性规范与实际的应用程序代码分开。

2、Spring AOP:集成了面向切面的编程功能(AOP把一个业务流程分成几部分,例如权限检查、业务处理、日志记录,

 每个部分单独处理,然后把它们组装成完整的业务流程。每个部分被称为切面),可以将声明性事物管理集成到应用程序中。

3、Spring Cntext:一个核心配置文件,为Spring框架提供上下文信息。

4、Spring Do:Spring操作数据库的模块。

5、Spring ORM:Spring集成了各种orm(object relationship mapping 对象关系映射)框架的模块,集成mybatis

6、Spring Web集成各种优秀的web层框架的模块(Struts、Springmvc)

7、Spring web MVC:Spring web层框架

3.Spring框架注解解析

3.1@Configuration

        注解表明此类为配置类,包含了Spring应用上下文中如何创建bean的细节;

3.2@ComponentScan

        @ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中

3.2.1 includeFilters

包含扫包范围FilterType 有四种类型:

   ANNOTATION:注解类型

   ASSIGNABLE_TYPE:ANNOTATION:指定的类型

   ASPECTJ:按照Aspectj的表达式,基本上不会用到

   REGEX:按照正则表达式

  CUSTOM:自定义规则

包含扫包范围:

@Configuration
@ComponentScan(value = "com.dylan.user", includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class)}, useDefaultFilters = false)
public class MySpringConfig {
    //@Configuration 等同于配置的spring配置文件
    @Bean
    public UserEntity userEntity() {
        return new UserEntity();
    }
}

3.2.2 excludeFilters

排除扫包范围:

@Configuration
@ComponentScan(value = "com.dylan.user", excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class)}, useDefaultFilters = true)
public class MySpringConfig {
    //@Configuration 等同于配置的spring配置文件
    @Bean
    public UserEntity userEntity() {
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值