`
huayu611
  • 浏览: 1541 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spring配置介绍(四)

 
阅读更多

property-placeholder:

 

这个是用户控制springbean中的变量而设置的,在springxml文件或注解中,可以使用变量来为spring注入动态数据。比如<property>${username}</ property >,那么username就可以通过properties文件 xml文件,系统属性或环境变量所替代。



 location:定位资源文件,可以指定jar中的,如classes:前缀的,也可以指定环境中的位置,可以是properties,也可以是xml文件,不过xml文件需要指定xml格式。

local-override:是否支持重写,系统提供动态变量时,往往会有默认值提供,但默认值往往只是默认,需要使用者有权利进去修改

properties-ref:如果文件可以被重写,这里可以配置扩展路径,供重写文件规范。

file-encoding:文件编码类型,对于喜欢使用中文的配置文件来说,这个很关键,一不小心就是乱码。一般项目可以使用“utf-8”来处理。

order:默认量底优先级,int类型的,数据越大,优先级越低。

ignore-resource-not-foundtruefalse两种,如果是true,那么你因文件 问题,而使文件读取失败,则不会出现线程中断,只会打出一个提醒日志。

system-properties-mode:他一般有三种取值 ENVIRONMENT:从环境变量中取,NEVER:只读资源文件,FALLBACK:默认模式,先从资源文件中取,如果取不到,则从系统属性中取,OVERRIDE,先从系统属性中取,如果取不到,则从资源文件中取。

property-override

property-overrideproperty-placeholder最直观的区别在于,property-override中的属性多一个ignore-unresolvable

ignore-unresolvable:这个属性默认为false,如果为false,则映射属性时,如果没有找到属性,则报错,如果为true,则如果没有映射到对应的属性不会报错。

上面的property-placeholder可以为任意的bean注入属性变量的值 ,而property-override则是指定bean而流入变量的值,比如properties文件中,可以设置为scatt.username=sc,表示在scattspringbean中,对于username的属性变量进行赋值,而对于其它 bean中的,产生不了影响。对于赋值变量时,常常有不同组件定义相同变量的情况,提供这种模式,则有效的避免这些“不规范”的行为。

annotation-config

这个节点中我们没发现任何变量,他是一个启动注解的标识,如果你想在spring加载的时候 ,将注解也相应启动,则需要配置一下空节点就可以了,则会启动注解。

component-scan

 

启动注解的时候 ,我们往往需要对注解运行规范化定义,比如哪些包内需要启动,而有的包内则不需要关注之类的。

 

 
base-package:需要扫描对应包内的类,是否有注解,如果有,需要加载。

resource-pattern:指定资源文件中的class匹配目录及文件 ,默认的为:**/*.class

use-default-filters:为true时,是启动默认的过滤器,默认为true,也就是只会扫描到@Controller定义的bean,而且对于JSR-250,则会加载ManagedBean对应的bean,如果是JSR-330,则可以加载javax.inject.Named对应的bean

annotation-configtruefalse两种,默认为true,如果为true,则表示开户自动注解,而此时上面的annotation-config的空节点将可以不用配置,如果为false,则需要配置annotation-config的空节点才会自动注解

name-generatorspringbean名字的自动生成器,对于注解,我们一般可以对id进行置空,如果为空,我们有办法按一定规则,进行名字重命名。而在name-generator可以指定一个继承于BeanNameGenerator接口的类,而实现 generateBeanName这个方法,进行重命名操作。

scope-resolver:他对于scope属性进行结构化处理,可以自定义,但需要ScopeMetadataResolver接口中的resolveScopeMetadata这个方法。默认提供有org.springframework.context.annotation.AnnotationScopeMetadataResolver

他的ScopeName取自于注解Scopevalue, ScopedProxyMode取自于属性proxyMode,如注解:@Scope(value="singleton",proxyMode=ScopedProxyMode.NO)

scoped-proxy:与scope-resolver不能同时存在,不然启动将会报错,targetClass:表示,ScopedProxyMode. TARGET_CLASSinterfaces:表示ScopedProxyMode.INTERFACESno:表示 ScopedProxyMode.NO,其它值将会报错

include-filterexclude-filter:注解黑白名单,注解解析时,扫描注解资源文件,是否需要包含哪一类文件 ,或不需要包含哪一类文件 ,后面的typeexpression,指定类型

type=”annotation”AnnotationTypeFilter过滤器,expression指定的类,需要是注解

type=”assignable”AssignableTypeFilter过滤器,表示是否为目标类的继承类或子类

type=”aspectjAspectJTypeFilter过滤器,表示以标记类的特定格式

type=”regexRegexPatternTypeFilter过滤器,按正则表达式进行匹配

type=”custom为自定义过滤器,可以自动定义过滤器,但需要继承TypeFilter类。

load-time-weaver



织入分为几种,一,编译时织入,二,加载时织入,三,运行时织入,而load-time-veaver是一种加载时织入

weaver-class:织入类,如果不指定,则默认为

org.springframework.context.weaving.DefaultContextLoadTimeWeaver,而这个类的需要配置instrument.jar,而这个jar包需要在启动的时候带着启动,如:

-javaagent:org.springframework.instrument.jar放在启动参数内。

aspectj-weaving:是否启动AspectJ织入,如果是on,则启动,如果是off,则不启动,如果是autodetect,则会检查就否存在META-INF/aop.xml这个文件 ,如果不存在,则不启动,如果存在则启动。

这个节点主要启动AspectJ,而AspectJ,则需要aop.xml,而aop.xml则是织入的的配置文件 ,节入点与织入类。所以想运用好这个,需要了解AspectJ

spring-configured



这个节点也就一个元素,所以这种节点其实只是为了启动某种组件而生的。而这个是启动AnnotationBeanConfigurerAspect,这个是通过注解方式进行注入的切面,注解中需要用@Configurable,他有四个值,valueautowiredependencyCheckpreConstruction

value,默认为空,如果自动装载为NO的话,这里其实是切面beanNamevalue的配置如@ Configurable(“poin”),表示由poin切入

autowire:默认为NO,自动装载,BY_NAME, BY_TYPE,

dependencyCheck:默认为false,之前 说过,是一个依赖检查

preConstruction:默认为fase,是否拦截于构造方法之前

这里其实也是用了AspectJ,所以也需要启动AspectJ,通过 –javaagent方式加载

mbean-export

 

 
注解方式注册MBean服务,MBean是可以通过JMX协议调用

default-domainMBean对象中的对象名,默认取类名

serverMBeanServer ,可以是类名,也可以是引用

registration:三种取值failOnExistingignoreExistingreplaceExisting

分别表示如果服务已经存在,则报错;如果服务已经存在,则不报错,不处理;如果服务已经存在,替换。

 

mbean-server

上面说是注册mbean服务,通过ID获取对应的MBeanServer

id:beanId,在代码中可以直接通过这个id去获取,

agent-id:通过MBeanServerFactory. findMBeanServer方法在MBeanServer的对象列表中按代理标识符寻找MBean,如果没有配置,如果是weblogic返回JNDI,如果是websphere,则通过com.ibm.websphere.management.AdminServiceFactory中寻找MBean,如果没有取到,则将通过ManagementFactory.getPlatformMBeanServer取获取 Mean


 

 

 

  • 大小: 18 KB
  • 大小: 18.4 KB
  • 大小: 12.9 KB
  • 大小: 18.3 KB
  • 大小: 9.1 KB
  • 大小: 4.3 KB
  • 大小: 17.3 KB
  • 大小: 10.7 KB
分享到:
评论

相关推荐

    spring配置 spring配置 spring配置 spring配置 spring配置

    spring配置 spring配置 spring配置 spring配置 spring配置

    ssm配置spring配置

    ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssmspring配置ssm...

    Spring配置加注释

    Spring配置 Spring 配置 映射 加注释!!!!Spring配置 Spring 配置 映射 加注释!!!!

    spring配置文件实例

    spring配置文件实例

    spring配置文件详细介绍

    下面是对Spring配置文件的详细介绍。 首先,Spring配置文件通常是以`.xml`为扩展名的文件,例如`beans.xml`。这些文件存储在项目的`src/main/resources`目录下,以便在运行时被自动加载。Spring容器...

    spring配置文件详解

    Spring 配置文件详解 Spring 配置文件是 Spring 框架中最重要的配置文件之一,它负责定义和配置应用程序的Bean对象,以及它们之间的依赖关系。Spring 配置文件通常以XML文件的形式存在,文件名通常为...

    spring配置文件

    spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件...

    Spring配置文件集合

    在本压缩包中,我们找到了一系列与Spring相关的配置文件,这些文件在构建JavaWeb应用时起着至关重要的作用。 1. `jdbc.properties`: 这个文件通常用于存储数据库连接的相关信息,如URL、用户名、密码等。它是Spring...

    Spring配置的5种方式

    ### Spring配置的5种方式详解 #### 一、引言 在Java开发领域,特别是针对企业级应用,Spring框架作为一款轻量级的容器管理工具,不仅提供了强大的依赖注入功能,还支持多种事务管理策略。Struts2+Spring+Hibernate...

    Spring的基本配置

    一、Spring配置概述 Spring的配置方式主要有两种:XML配置和Java配置。早期,XML配置是主流,而现在,随着Spring Boot的兴起,Java配置逐渐成为首选,因为它更加简洁和直观。不过,理解XML配置对于学习Spring的基础...

    SpringCloud——分布式配置中心(Spring Cloud Config)

    **四、配置客户端** 在每个微服务中,我们需要添加 Config Client 的依赖,并在相应的 `bootstrap.yml` 文件中配置 Config Server 的地址: ```yaml spring: application: name: your-service-name cloud: ...

    spring配置的简单案例.zip

    spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip ...

    spring配置和启动方式

    spring配置和启动方式 博客地址:https://blog.csdn.net/u010476739/article/details/76696756

    Spring配置MySQL数据源

    连接MYSQL数据库,SPRING配置文件示例。

    Spring 配置

    1.创建web工程 2.导入jar ...3.导入配置文件 spring-framework-2.5.6\samples\jpetstore\war\WEB-INF\log4j.properties spring-framework-2.5.6\samples\jpetstore\war \WEB-INF\applicationContext.xml

    spring配置步骤

    ### Spring配置步骤详解 #### 一、Spring框架简介 Spring框架是Java平台上的一个开源框架,它提供了一种简化企业级应用开发的方式。Spring的核心功能包括依赖注入(Dependency Injection, DI)、面向切面编程...

    Spring Boot中配置文件介绍及其使用教程

    Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置...

    Spring依赖包和配置文件

    二、Spring配置文件 1. **beans.xml**:这是Spring应用中最常见的配置文件,用于定义bean及其依赖关系。在这里,我们可以声明bean的类、属性、初始化方法、依赖注入等。 2. **applicationContext.xml**:此文件通常...

    Spring Cloud配置中心获取不到最新配置信息的问题

    Spring Cloud配置中心获取不到最新配置信息的问题 Spring Cloud配置中心获取不到最新配置信息的问题是一个常见的问题,在微服务应用中,配置中心是非常重要的组件,它负责管理和分发配置信息。但是,如果配置中心出...

    Spring动态加载配置文件

    接下来,一旦检测到Spring配置文件发生变化,我们需要重新加载配置文件。这可以通过Spring的`ApplicationContext`的`refresh()`方法来实现。`refresh()`会重新初始化Bean工厂,读取新的配置信息,并更新所有Bean的...

Global site tag (gtag.js) - Google Analytics