网站集约化建设进度汇报,甘肃网络科技有限公司,吧网站做软件的软件,东莞大岭山房价1、Bean注解 作用#xff1a;用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时#xff0c;默认值是当前方法的名称细节#xff1a;当我们使用注解配置方法时#xff0c;如果方法有参数#xff0c;…1、Bean注解 作用用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时默认值是当前方法的名称细节当我们使用注解配置方法时如果方法有参数spring框架会去容器中查找有没有可用的bean对象。查找的方式和Autowired注解的作用是一样的 2、Primary注解 该注解是框架在3.0版中引入的 其作用与功能当有多个相同类型的bean时使用Primary来赋予bean更高的优先级。 3、DependsOn注解 DependsOn注解是Spring中提供的一个指定Spring创建Bean的依赖顺序的注解。例如在Spring中需要创建A对象和B对象可以使用DependsOn注解指定创建A对象时依赖B对象此时在Spring中就会先创建B对象然后再创建A对象。 4、Lazy 组件懒加载最后使用的时候才创建 5、Scope 类注解设置在类的上方设置该类创建对象的作用范围可以用来设置创建出来的bean是否为单例对象属性定义bean的作用范围默认为singleto单例可填prototype非单例 6、 Configuration 声明这是一个配置类替换以前配置文件 作用用于定义配置类可替换xml配置文件也可以理解为Spring配置文件当中的上下文。被注解的类内部包含有一个或多个被Bean注解的方法这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描并用于构建bean定义初始化Spring容器。 位置: 一般出现在类上面 细节当配置类作为AnnotationConfigApplicationContext对象创建的参数时该注解可以不写。 7、Component 它是这些注解里面最普通的一个注解一般用于把普通pojo实例化到spring容器中。 Controller和Service和Repository是它的特殊情况当一个类不需要进行这几种特殊归类的时候只是作为一个普通的类被Spring管理就OK的时候比较适合采用Component注解。原理将普通JavaBean实例化到spring容器中,Spring容器统一管理用起来不用自己new了相当于配置文件中的 bean id“” class“”/ 8、Indexed Spring包org.springframework.stereotype下除了Component、Controller、Service、Repository外在5.0版本中新增了Indexed注解。 应用中使用context:component-scan /或ComponentScan扫描的package包含的类越来越多的时候Spring启动时模式注解解析时间就会变得越长。 Indexed注解的引入正是为了解决这个问题项目编译打包时会在自动生成META-INF/spring.components文件文件包含被Indexed注释的类的模式解析结果。当Spring应用上下文进行组件扫描时META-INF/spring.components会被org.springframework.context.index.CandidateComponentsIndexLoader读取并加载转换为CandidateComponentsIndex对象此时组件扫描会读取CandidateComponentsIndex而不进行实际扫描从而提高组件扫描效率减少应用启动时间。 9、Order 注解Order的作用是定义Spring IOC容器中Bean的执行顺序的优先级而不是定义Bean的加载顺序Bean的加载顺序不受Order的影响 数字越小优先级越高越先工作 10、ComponentScan 这是 Spring 3.1 添加的一个注解用来代替配置文件中的 component-scan 配置开启组件扫描即自动扫描包路径下的 Component 注解进行注册 bean 实例到 context 中。另外ComponentScans 是可重复注解即可以配置多个用来配置注册不同的子包。 11、Conditional Conditional是Spring4新提供的注解它的作用是按照一定的条件进行判断满足条件给容器注册bean。 12、Import 作用用于导入其他的配置类导入第三方jar包中的组件或定制批量导入组件逻辑用来引入额外的一个或者多个 Configuration 修饰的配置文件类。位置: 一般出现在主配置类上面属性value用于指定其他配置类的字节码。 当我们使用Import的注解之后有Import注解的类就是父配置类而导入的都是子配置类 13、ImportResource ImportResource 是导入 xml 配置等同于 xml 文件的 resources 替代 XML 元素import如果有些通过类的注册方式配置不了的可以通过这个注解引入额外的 XML 配置文件有些老的配置文件无法通过 Configuration 方式配置的非常管用 14、Profile 在Spring容器中如果存在同一类型的多个组件可以使用Profile注解标识实际要获取的是哪一个bean这在不同的环境使用不同的变量的场景下非常有用。 最典型的例子开发环境、测试环境、生产环境会配置不同的数据源在尽量不修改代码的情况下可以使用这个注解来动态指定要连接的数据源。 15、PropertySource PropertySource注解用于指定资源文件读取的位置它不仅能读取properties文件也能读取xml文件并且通过YAML解析器配合自定义PropertySourceFactory实现解析YAML文件。 16、PropertySources Spring4中对PropertySource这个注解进行了功能增强增加了PropertySources注解相当于其父标签下面可以包括多个子PropertySource注解示例如下 PropertySources({PropertySource(classpath:config.properties),PropertySource(classpath:db.properties)
}) 17、Lookup 单例组件依赖非单例组件非单例组件获取需要使用方法