spring配置文件头文件解读

合集下载

spring配置文件各个属性详解

spring配置文件各个属性详解

spring配置文件各个属性详解分类:spring 2012-08-09 11:25 9316人阅读评论(2) 收藏举报springaophibernateattributesxhtmlwebsphere目录(?)[+]一、引用外部属性文件<bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:mail.properties</value><value>classpath:jdbc.properties</value></list></property></bean>我们定义了一个PropertyPlaceholderConfigurer类的实例,并将其位置属性设置为我们的属性文件。

该类被实现为Bean工厂的后处理器,并将使用定义在文件中的属性来代替所有的占位符(${...}value)。

注意:而在spring2.5的版本中提供了一种更简便的方式,如:1.<context:property-placeholderlocation="classpath:config/jdbc.properties"/>这样以后要使用属性文件中的资源时,可以使用${属性名}来获得。

二、常用数据源的配置第一种是:DBCP数据源,(需要加入2个jar文件,在spring中的lib下jakarta-commons/commons-dbcp.jar和commons-pools.jar)主要配置如下:<!-- Mysql版--><bean id="dataSource"class="mons.dbcp.BasicDataSource"><property name="driverClassName"value="com.mysql.jdbc.Driver"></property><property name="url"value="${jdbc.url}"></property><property name="username" value="${ername}"></property><property name="password" value="${jdbc.password}"></property></bean>第二种是:c3p0数据源,跟第一种一个类型,需加入c3p0.jar包。

Spring的xml文件详解

Spring的xml文件详解

Spring的xml⽂件详解spring的xml配置⽂件头:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd">...<!--中间xml⽂件部分-->.....</beans>⼀直在复制黏贴,但是不知道作⽤是什么,不理解的话常出错。

xmlns和命名空间⾸先,介绍⼀下xmlns的作⽤,如下所⽰,⼀个 xml ⽂档中如果包含如下两种定义不同,但是名称相同的元素, xml 解析器是⽆法解析的,因为它不能确定当你调⽤document.getElementsByTagName("book") 时应该返回哪个元素。

<!-- 这⾥的 table 元素描述的是⼀个表格--><table><tr><td>Apples</td><td>Bananas</td></tr></table><!-- 这⾥的 table 元素描述的是⼀个家居桌⼦--><table><name>African Coffee Table</name><width>80</width><length>120</length></table>这时候可以通过在名称增加前缀解决这个问题<!-- 这⾥的 table 元素描述的是⼀个表格--><h:table> <!--添加了前缀 h --><h:tr><h:td>Apples</h:td><h:td>Bananas</h:td></h:tr></h:table><!-- 这⾥的 table 元素描述的是⼀个表格--><f:table> <!--添加了前缀 f --><f:name>African Coffee Table</f:name><f:width>80</f:width><f:length>120</f:length></f:table>由此,引⼊⼀个概念命名空间,通过增加前缀表⽰不同的那是不同命名空间下的table,从⽽解决了⽭盾,但是不同的⼈都有⾃⼰创建的不同的命名空间来描述同样的东西,不利于xml⽂件信息的解析,⽐如说,同样都是⽔果,可以从颜⾊和⾹味不同⾓度来定义成如下两种形式:<!--按照⽔果⾹味来定义--><perfume:fruit><name>....</name><perfume>.....</perfume></perfume:fruit><!--按照⽔果颜⾊来定义--><color:fruit><name>....</name><color>....</color></color:fruit>为此,w3c(万维⽹联盟)对于⼀些类型,定义了对应的命名空间和这些类型的标准,xml解释器碰到这些类型的时候就会通过这些标准去解析这类型的标签,为了确保命名空间的唯⼀,所以不同的命名空间的通常使⽤URL作为被识别的id,如下例⼦:xmlns:xsi="/2001/XMLSchema-instance"这句话的作⽤是当前引⼊了⼀个叫做xsi的命名空间,xsi可以在接下来要使⽤该命名空间时所使⽤的,如下:<xsi:schemaLocation="...... ......">⽽这个很长的字符串,则是xsi这个名称空间被xml解释器内部所识别的时候所真正使⽤的id,但也本⾝只是被当做⼀个字符串名字去处理,xml解释器根据这个id去获取它对应的标准,从⽽知道这个命名空间定义有什么样的标签(xml解释器⾃带有⼀些通⽤的命名空间的标准),这个字符串虽然看起来是URL,但是和对应的⽹页上的信息没有关系,只是⽤来提供命名空间唯⼀性的作⽤,⽹址有时可以被打开,上⾯会有关于该命名空间的信息。

Spring配置文件

Spring配置文件

Spring 配置文件命名空间1.xml文档的命名空间XML文档可以创建自定义的元素和属性来描述数据,这样就很容易产生名称相同而含义不同的元素。

XML使用命名空间来加以区分。

命名空间使用统一资源定位符URI来识别。

URI必须是XML文档中唯一的。

1.1 XML文档中加入命名空间为了引用一个命名空间,可以将其以属性的形式加入任何包含了属于该命名空间中元素的节点中。

比如:这决定了命名空间wq指向/ns/furniture1.2 添加默认命名空间/ Copyright©2010吴青版权所有一个XML文档大部分通常属于一个XML词汇。

在这种情况下,可以定义一个默认的命名空间,而不是为每一个元素重复地添加命名空间前缀。

可以使用xmlns关键字来定义默认的命名空间。

这样,就不用为默认的命名空间内的元素指定前缀了。

2.XML的约束模式XML的约束模式定义了XML文档中允许出现的元素名,元素中的属性,内容类型,以及元素之间的嵌套关系和出现顺序。

如果把一个XML文件看做数据库中的一个表,那么XML约束模式就相当于数据库表结构的定义。

约束模式通常都是在一个单独的文件中进行定义,这个文件被称为模式文档。

模式文档采用某种约束模式语言编写,用于描述XML文档的结构。

模式语言应用最广泛的就是XML DTD和XML Schema。

Spring的配置文件中这两种模式浴盐都支持/ Copyright©2010吴青版权所有一个XML文档想说明自己是一个有效的XML文档,除了要严格遵循某个DTD文件定义的规则外,还必须指明其所遵循的是那个DTD文件,以便解析器程序能够对它进行有效性校验。

如何把XML文件和一个DTD文件联系起来?正如上面的代码:XML文档通过使用DOCTYPE声明语句(文档类型定义语句)来指明它所遵循的DTD文件。

DOCTYPE 声明语句紧跟在XML文档声明语句后面,有两种格式:<!DOCTYPE 文档类型名称SYSTEM “DTD文件的URL”><!DOCTYPE 文档类型名称PUBLIC “DTD名称” ”DTD文件的URL”>文档类型名称一般使用XML文件的根元素名称来作为文档类型名称。

spring配置文件详解

spring配置文件详解

spring配置文件详解Spring是一个轻量级的开源Java框架,它提供了一种简化Java应用开发的方式。

在Spring框架中,配置文件起着非常重要的作用,它用于配置应用程序中的各种组件和对象。

Spring配置文件通常使用XML格式,但也可以使用注解或Java代码进行配置。

在配置文件中,我们可以定义Bean(对象)、依赖关系、AOP(面向切面编程)等等。

下面将详细介绍Spring配置文件的各个部分。

1. 命名空间和约束在Spring配置文件的开头,我们需要声明命名空间和约束。

命名空间用于引入Spring的命名空间,以便我们可以使用Spring提供的各种功能。

约束用于验证配置文件的正确性。

2. Bean定义在Spring配置文件中,我们可以定义多个Bean。

每个Bean都有一个唯一的ID和一个类名或接口名。

我们可以使用构造函数或工厂方法来创建Bean,并指定Bean的属性值。

3. 依赖注入依赖注入是Spring框架的核心特性之一。

通过依赖注入,我们可以将一个Bean的依赖关系委托给Spring容器来管理。

在配置文件中,我们可以使用<property>元素来设置Bean的属性值,也可以使用<constructor-arg>元素来设置构造函数的参数。

4. 别名和引用在配置文件中,我们可以为Bean定义别名,以便在其他地方使用更简洁的名称来引用Bean。

我们还可以使用<ref>元素来引用其他Bean。

5. 集合和数组Spring配置文件还支持定义集合和数组类型的属性。

我们可以使用<list>、<set>、<map>和<props>元素来定义不同类型的集合。

6. 自动装配自动装配是Spring框架的另一个重要特性。

通过自动装配,Spring容器可以根据Bean之间的依赖关系自动将它们连接起来。

在配置文件中,我们可以使用autowire属性来指定自动装配的方式。

【SpringBoot】二、SpringBoot中配置文件详解

【SpringBoot】二、SpringBoot中配置文件详解

【SpringBoot】二、SpringBoot中配置文件详解2020-04-14 23:09:39SpringBoot使用一个全局的配置文件,配置文件名是固定的,支持两种格式1、两种格式(properties,yml)application.propertiesapplication.propertiesapplication.yml由此可以看出 application.yml 文件格式的内容更为简洁,清晰,目前大部分都是YML 格式,我们主要讲 YML 格式的配置文件注意:1、以空格的缩进来控制层级关系,左对齐的一列数据,属于同一个层级2、、yml 格式:k: v,之间的空格必须有3、k 和 v 对大小写敏感4、k: v,字符串默认不用加上单引号或者双引号2、属性: 值的两种写法# k: v 方式user:name: jaychouage: 35# 行内写法user: {name: jaychou,age: 35}3、数组(List、Set)# 用- 值表示数组中的一个元素page:- page1- page2# 行内写法page: {page1,page2}4、从配置文件中取值1、手动取值ConfigurableApplicationContext context = SpringApplication.run(Applica tion.class, args);context.getEnvironment().getProperty("server.port");2、@Value(“${key}”) 取值@Value("${alipay.oauth.appid}")public String APPID;3、配置文件中${key}引用配置信息user:name: jaychouserver:name: this is ${}5、多个配置文件我们在实际的开发过程中,需要不断调试,测试,上传到云服务器中,数据库配置,redis配置,nginx配置等等,需要在云服务器和本地服务器中来回切换,我们可以创建多个配置文件,在本地开发的时候,切换为本地配置文件,上传云服务器之前切换为云服务器配置文件,这样避免了配置信息修改错误我们只需要在 application.yml 配置文件中配置:spring:# 配置文件,多个用逗号隔开profiles:active: oauth,db-localdb-local,为本地配置文件,本地开发测试用当我们上传云服务器时,只需要将配置信息修改为 db-cloud spring:# 配置文件,多个用逗号隔开profiles:active: oauth,db-cloud如您在阅读中发现不足,欢迎留言!!!。

springboot目录结构、重要配置文件、重要注解的详解

springboot目录结构、重要配置文件、重要注解的详解

springboot⽬录结构、重要配置⽂件、重要注解的详解前⾯2篇博客已经带着⼤家搭建了springboot项⽬,并编写了持久化接⼝部署到tomcat下访问。

这⾥我们⼀起补充下springboot的基本信息⼀.springboot简单介绍springboot是⽬前流⾏的微服务框架,倡导“约定优于配置”,简化spring项⽬搭建及开发过程。

springboot提供了很多核⼼的功能,⽐如⾃动化配置、starter简化maven配置、内嵌servlet容器、应⽤监控等功能。

稳定的版本后缀带RELEASE。

⼆.⼯程⽬录介绍1./src/main/java:⽬录下放置所有的java⽂件(源代码)2./src/main/resource:存放资源⽂件、如静态资源⽂件、配置⽂件、页⾯⽂件等3./src/main/resource/static:存放静态资源4./src/mian/resource/application.properties:配置⽂件,springboot⽀持.properties和.yml⽂件5./src/main/resources/templates:存放模板⽂件如thymeleaf模板⽂件6./src/test/java:单元测试类java⽂件7./target:放置编译后的.class⽂件、配置⽂件等注意:.properties的⽂件优先级⾼于.yml⽂件。

三.⼊⼝类⼊⼝类的名称是根据项⽬的名称⽣成的,项⽬名称+applicationpackage com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);//应⽤程序开始运⾏的地⽅}}@springbootapplication:是个组合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,简化项⽬启动。

springboot目录结构和配置文件详解

springboot目录结构和配置文件详解

springboot目录结构和配置文件详解Spring Boot是一个用于创建独立的、基于生产级别的Spring应用程序的框架。

它具备了自动配置、内嵌服务器和依赖管理等特性,使得开发人员可以更加便捷地创建和部署Spring应用程序。

在使用Spring Boot开发应用程序时,了解其目录结构和配置文件是非常重要的。

本文将详细介绍Spring Boot的目录结构和配置文件。

一、目录结构Spring Boot的项目目录结构与传统的Java Web项目有些不同,主要包括以下几个目录:1. src/main/java:该目录用于存放项目的源代码文件。

2. src/main/resources:该目录用于存放项目的资源文件,如配置文件、静态资源文件等。

3. src/test/java:该目录用于存放项目的测试用例代码文件。

4. src/test/resources:该目录用于存放项目的测试用例的资源文件。

除了以上几个目录外,还有一些重要的文件如下:1. pom.xml:该文件是项目的依赖管理文件,用于配置项目所需的依赖库。

2. application.properties/application.yml:这是Spring Boot 的配置文件,用于配置应用程序的参数。

二、配置文件在Spring Boot中,配置文件主要包括两种形式:properties和yml。

1. application.properties:application.properties是以key=value的形式配置的文本文件。

其中,key为配置项的名称,value为配置项的值。

以下是一个示例的application.properties文件:```#数据库连接配置#服务器端口配置server.port=8080#日志级别配置.springframework=INFO```在上述示例中,配置了数据库连接URL、用户名和密码,服务器端口和日志级别等配置项。

SpringBoot中的Properties的使用详解

SpringBoot中的Properties的使用详解

SpringBoot中的Properties的使用详解Properties文件的格式1. .properties文件:这是一种常用的配置文件格式,它使用"键=值"的形式来定义属性。

2. .yml文件:这是一种基于缩进的配置文件格式,它使用空格来表示层级关系,可以更加清晰地表示属性的结构。

Properties的加载顺序1. 配置文件的默认位置:Spring Boot会首先在默认的位置加载Properties文件,即在classpath下的/config文件夹或者是jar包的根目录下。

2. 配置文件的自定义位置:如果在默认位置找不到Properties文件,Spring Boot会尝试在工作目录下寻找,即在当前工作目录下的./config/文件夹或者是jar包的同级目录下。

3. 命令行参数:可以通过在启动应用程序时使用--和--spring.config.location参数来指定Properties文件的名称和位置。

Properties的使用在Spring Boot中,可以通过多种方式来使用Properties文件的属性值:Properties文件的加载和刷新在Spring Boot中,Properties文件的加载是在应用程序启动的过程中进行的,一旦加载完成,属性值将被缓存在内存中,并可以在整个应用程序中使用。

如果需要动态地从外部文件加载Properties文件的属性值,可以使用Spring的Environment对象,并通过调用其refresh(方法来刷新属性值。

总结Spring Boot中的Properties是一种用于配置应用程序的机制,可以通过多种方式来使用和获取属性值。

在Properties文件的加载和使用过程中,需要注意属性文件的加载顺序和使用方式,并可以根据自己的需求来选择合适的方式来使用Properties文件的属性值。

通过灵活地使用Properties,可以实现应用程序的动态配置和定制化。

Springboot常用注解及配置文件加载顺序详解

Springboot常用注解及配置文件加载顺序详解

Springboot常⽤注解及配置⽂件加载顺序详解Springboot常⽤注解及底层实现1、@SpringBootApplication:这个注解标识了⼀个SpringBoot⼯程,她实际上是另外三个注解的组合,分别是:@SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有⼀个@Configuration,把该类变成⼀个配置类,表⽰启动类也是⼀个配置类;@EnableAutoConfiguration:是开启⾃动配置的功能,向Spring容器中导⼊了⼀个Selector,⽤来加载ClassPath下SpringFactories中所定义的⾃动配置类,将这些⾃动加载为配置Bean;由@AutoConfigurationPackage和@Import组成,前者表⽰让包中的类能够被⾃动扫描到spring容器中;使⽤import是往Spring容器中导⼊⼀个组件,将主配置类的所在包及⼦包所有组件扫描加载到Spring容器;Springboot在启动的时候,从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为⾃动配置类导⼊到容器中,⾃动配置类就⽣效,帮我们进⾏⾃动配置⼯作。

以前需要我们⾃⼰配置的东西,⾃动配置类都帮我们完成了。

@ComponentScan:标识扫描路径,因为默认是没有配置实际扫描路径的,所以SpringBoot扫描的路径是启动类所在的当前⽬录;2、@Bean注解:⽤来定义Bean,类似于XML中的<bean>标签,Spring在启动时,会对加了@Bean注解的⽅法进⾏解析,将⽅法的名字作为beanName,并通过执⾏⽅法得到bean对象;3、@Controller、@Service、@ResponseBody、@AutowiredSpringboot中配置⽂件的加载顺序优先级从⾼到低,⾼优先级的配置覆盖低优先级的配置,所有配置会形成互补配置;1、命令⾏参数。

spring配置详解

spring配置详解

spring配置详解1.前⾔公司⽼项⽬的后台,均是基于spring框架搭建,其中还⽤到了log4j.jar等开源架包。

在新项⽬中,则是spring和hibernate框架均有使⽤,利⽤了hibernate框架,来实现持久化,简化sql操作等。

Hibernate配置⽂件可以有两种格式,⼀种是 hibernate.properties,另⼀种是hibernate.cfg.xml。

后者稍微⽅便⼀些,当增加hbm映射⽂件的时候,可以直接在 hibernate.cfg.xml ⾥⾯增加,不必像 hibernate.properties 必须在初始化代码中加⼊。

我们新项⽬中使⽤的是hibernate.cfg.xml格式。

不过在本⽂中不将细述,后续有机会再补上。

公司项⽬中,中间件主要有tomcat,webshpere,WebLogic。

以下,将对项⽬中spring基本配置,log4j的配置,还有中间件的相关参数配置做⼀个初步的介绍。

2.spring配置——以⽼GIS项⽬为例⼦GISV13中的配置涉及到了SpringMVC,IOC,AOP, Quartz⽅⾯的配置。

配置的实现是通过注记配置和XML配置来合作实现。

这⾥,我将按照Spring的配置流程,将其他⼏个⽅⾯的配置融合其中,来进⾏全⾯解析。

2.1SpringMVC的配置2.1.1.web.xml的配置Web程序中,当中间件启动时,中间件会⾸先读取web.xml中的配置。

在web.xml中可以配置监听器,过滤器,servlet映射等等。

在Spring 框架中,我们主要需配置容器初始化时读取的spring容器配置⽂件的路径以及springMVC中的分发器DispatcherServlet。

在GISV13的web.xml中,我们定义了如下内容:InitGISConfigServlet定义了容器启动时,⾸先要运⾏这个⽅法。

然后servletname为MVC的这部分便是定义了springMVC的分发器以及此servlet所对应的加载配置⽂件的路径。

spring配置文件详解

spring配置文件详解

spring配置文件详解,通过spring的配置文件的配置你可以实现你的业务要求,下面就让我们来看看spring的配置文件怎么配置:想必用过Spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。

以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。

所以今天我给大家详细解释一下Spring的applicationContext.xml文件。

Ok,还是通过代码加注释的方式为大家演示:以下是详解Spring的applicationContext.xml文件代码:<!-- 头文件,主要注意一下编码--><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "/dtd/spring-beans.dtd"><beans><!-- 建立数据源--><bean id="dataSource" class="mons.dbcp.BasicDataSource"><!-- 数据库驱动,我这里使用的是Mysql数据库--><property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property><!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦!--><property name="url"><value>jdbc:mysql://localhost:3306/tie?useUnicode=true&amp;characterEncoding=utf-8</value></property><!-- 数据库的用户名--><property name="username"><value>root</value></property><!-- 数据库的密码--><property name="password"><value>123</value></property></bean><!-- 把数据源注入给Session工厂--><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><!-- 配置映射文件--><property name="mappingResources"><list><value>com/alonely/vo/User.hbm.xml</value></list></property></bean><!-- 把Session工厂注入给hibernateTemplate --><!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立HibernateCallback 对象,例如:load()、get()、save、delete()等方法。

springMVC配置文件详解

springMVC配置文件详解

web.xml的配置web.xml应该是整个项目最重要的配置文件了,不过servlet3.0中已经支持注解配置方式了。

在servlet3.0以前每个servlet必须要在web.xml中配置servlet及其映射关系。

但是在spring框架中就不用了,因为Spring中是依赖注入(Dependency Injection)的也叫控制反转(Inversion of Control)。

但是也要配置一个重要的servlet,就是前端控制器(DispatcherServlet)。

配置方式与普通的servlet基本相似。

配置内容如下:<!-- 配置前端控制器--><servlet><servlet-name>spring</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!-- ContextconfigLocation配置springmvc加载的配置文件适配器、处理映射器等--><param-name>contextConfigLocation</param-name><param-value>WEB-INF/classes/spring/springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>spring</servlet-name><!-- 1、.action访问以.action结尾的由DispatcherServlet进行解析2、/,所有访问都由DispatcherServlet进行解析--><url-pattern>/</url-pattern></servlet-mapping>这里需要注意,springmvc.xml是spring配置文件,将在后面讨论。

SpringMVC的配置文件

SpringMVC的配置文件

SpringMVC的配置⽂件⼀、root标签跟spring配置⼀样,root标签是beans,毕竟springmvc是spring的⼀个模块在springmvc⾥,⾃动扫描主要是配置controller:⼆、⾃动扫描:⼆、⾃动扫描:在<context:component-scan base-package="com.xxx.controller"/>三、解析器Resolver:解析器有很多种,⽐较重要的是ViewResolverViewResolver也有很多种,其中⽐较重要和常⽤的是InternalResourceViewResolver(内部资源视图解析器)代码:<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>如果没有视图解析器,我们在controller⾥⾯的代码是这样的:@Controllerpublic class LoginActionController {@RequestMapping("/index")public String toIndex(HttpServletRequest request, ModelMap map, HttpSession session) {return "/WEB-INF/jsp/index.jsp";}⽽使⽤了视图解析器,我们的代码是这样的:@Controllerpublic class LoginActionController {@RequestMapping("/index")public String toIndex(HttpServletRequest request, ModelMap map, HttpSession session) {return "index";}区别在最后⼀句,我们不需要给出⽬标视图的全路径了。

Spring系列之Spring常用注解总结

Spring系列之Spring常用注解总结

Spring系列之Spring常⽤注解总结Spring系列之Spring常⽤注解总结传统的Spring做法是使⽤.xml⽂件来对bean进⾏注⼊或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml⽂件中,那么.xml⽂件将会⼗分庞⼤;如果按需求分开.xml⽂件,那么.xml⽂件⼜会⾮常多。

总之这将导致配置⽂件的可读性与可维护性变得很低。

2、在开发中在.java⽂件和.xml⽂件之间不断切换,是⼀件⿇烦的事,同时这种思维上的不连贯也会降低开发的效率。

为了解决这两个问题,Spring引⼊了注解,通过"@XXX"的⽅式,让注解与Java Bean紧密结合,既⼤⼤减少了配置⽂件的体积,⼜增加了Java Bean的可读性与内聚性。

不使⽤注解:先看⼀个不使⽤注解的Spring⽰例,在这个⽰例的基础上,改成注解版本的,这样也能看出使⽤与不使⽤注解之间的区别,先定义⼀个⽼虎:package com.spring.model;public class Tiger {private String tigerName="TigerKing";public String toString(){return "TigerName:"+tigerName;}}再定义⼀个猴⼦:package com.spring.model;public class Monkey {private String monkeyName = "MonkeyKing";public String toString(){return "MonkeyName:" + monkeyName;}}定义⼀个动物园:package com.spring.model;public class Zoo {private Tiger tiger;private Monkey monkey;public Tiger getTiger() {return tiger;}public void setTiger(Tiger tiger) {this.tiger = tiger;}public Monkey getMonkey() {return monkey;}public void setMonkey(Monkey monkey) {this.monkey = monkey;}public String toString(){return tiger + "\n" + monkey;}}spring的配置⽂件这么写:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd"><bean id="zoo" class="com.spring.model.Zoo"><property name="tiger" ref="tiger"/><property name="monkey" ref="monkey"/></bean><bean id="tiger" class="com.spring.model.Tiger"/><bean id="monkey" class="com.spring.model.Monkey"/></beans>测试⽅法:public class TestAnnotation {/*** 不使⽤注解*/@Testpublic void test(){//读取配置⽂件ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext2.xml");Zoo zoo=(Zoo) ctx.getBean("zoo");System.out.println(zoo.toString());}}都很熟悉,权当复习⼀遍了。

【spring配置文件】spring配置文件的解析

【spring配置文件】spring配置文件的解析

【spring配置⽂件】spring配置⽂件的解析⼀.总体结构⼆.详解1.spring <alias >标签在对bean进⾏定义时,除了使⽤id属性来指定名称之外,为了提供多个名称,可以使⽤alias标签来指定。

⽽所有的这些名称都指向同⼀个bean,在某些情况下提供别名⾮常有⽤,⽐如为了让应⽤的每⼀个组件能更容易的对公共组件进⾏引⽤。

然⽽,在定义bean时就指定所有的别名并不是总是恰当的。

有时我们期望能在当前位置为那些在别处定义的bean引⼊别名。

在XML配置⽂件中,可⽤单独的<alias/>元素来完成bean别名的定义。

如:等价的情况配置⽂件中定义了⼀个JavaBean<bean id="some" class=".Some"/>我要给这个JavaBean增加别名,以⽅便不同对象来调⽤。

我们就可以这样写:<bean id="some" class=".Some"/><alias name="some" alias="someJava,oneBean,twoBean"/>或者是⽤name属性来指定,如:<bean id="some" name="oneBean,twoBean,threeBean" class=".Some"/>更⿇烦⼀点的使⽤考虑⼀个更为具体的例⼦,组件A在XML配置⽂件中定义了⼀个名为componentA-dataSource的DataSource bean。

但组件B却想在其XML ⽂件中以componentB-dataSource的名字来引⽤此bean。

⽽且在主程序MyApp的XML配置⽂件中,希望以myApp-dataSource的名字来引⽤此bean。

Spring的配置文件ApplicationContext.xml配置头文件解析

Spring的配置文件ApplicationContext.xml配置头文件解析

Spring的配置⽂件ApplicationContext.xml配置头⽂件解析Spring的配置⽂件ApplicationContext.xml配置头⽂件解析原创 2016年12⽉16⽇ 14:22:43标签:spring中的applicationContext.xml配置头⽂件解析<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx"xmlns:aop="/schema/aop"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-4.1.xsd/schema/context/schema/context/spring-context-4.1.xsd/schema/tx/schema/tx/spring-tx-4.1.xsd/schema/aop/schema/aop/spring-aop-4.1.xsd"></beans>⾸先要做的是导⼊相关jar包,这⾥⼀aop为例所以只说导⼊了aop相关的jar包这四个jar包是必不可少的。

jar包下载地址:配置头⽂件所引⽤的⽂件包(版本号要匹配上)步骤(1)、下载spring-framework-4.1.6(2)、eclipse中点击window-preferances,在弹出框中输⼊xml catalog,看到如下界⾯点击add从⽂件选择其中找到你所下载的spring-framework-4.16打开⽂件夹,然后打开schema⽂件夹该⽬录下就是你所要引⼊的相关标签的⽂件夹下⾯以aop标签为例,其他标签都是同样的操作步骤。

【Spring源码分析】配置文件读取流程

【Spring源码分析】配置文件读取流程

【Spring源码分析】配置⽂件读取流程前⾔Spring配置⽂件读取流程本来是和⼀⽂放在⼀起的,这两天在看Spring⾃定义标签的时候,感觉对Spring配置⽂件读取流程还是研究得不够,因此将Spring配置⽂件读取流程部分从之前的⽂章拆出来单独成为⼀⽂。

为了看⼀下Spring配置⽂件加载流程,先定义⼀个bean.xml:1<?xml version="1.0" encoding="UTF-8"?>2<beans xmlns="/schema/beans"3 xmlns:xsi="/2001/XMLSchema-instance"4 xsi:schemaLocation="/schema/beans5 /schema/beans/spring-beans-3.0.xsd">67<bean id="beanPostProcessorBean" class="org.xrq.action.BeanPostProcessorBean"/>89<bean id="beanFactoryPostProcessorBean" class="org.xrq.action.BeanFactoryPostProcessorBean"/>1011<bean id="multiFunctionBean" class="org.xrq.action.MultiFunctionBean" init-method="initMethod">12<property name="propertyA" value="abc"/>13</bean>1415</beans>⾄于Bean是什么并不重要,有配置⽂件就够了。

SpringBoot配置文件类型——YML文件

SpringBoot配置文件类型——YML文件

SpringBoot配置⽂件类型——YML⽂件我们都知道,SpringBoot默认会从Resources⽬录下加载application.properties或application.yml(application.yaml)⽂件,properties⽂件我们并不陌⽣,⾥⾯存储键值对类型数据,那么YML⽂件呢?1 yml配置⽂件简介YML⽂件格式是YAML (YAML Aint Markup Language)编写的⽂件格式,YAML是⼀种直观的能够被电脑识别的的数据数据序列化格式,并且容易被⼈类阅读。

YML⽂件是以数据为核⼼的,⽐传统的xml⽅式更加简洁。

YML⽂件的扩展名可以使⽤.yml或者.yaml。

2 yml配置⽂件的语法2.1 配置普通数据语法:key: value⽰例:name: Icey注意:value之前必须有⼀个空格号2.2 配置对象数据语法:key: key1: value1 key2: value2或者key: {key1: value1,key2: value2}⽰例:person: name: Icey age: 22或者person: {name: Icey,age: 22}2.3 配置数组(list、set)数据语法:key: - value1 - value2或者:key: [value1,value2]⽰例:city:- beijing- tianjin- shanghai或者city: [beijing,tianjin,shanghai]如果数组中的元素是对象类型:students:- name: Iceyage: 22sex:female- name: Shaneage:25sex:male- name: Jucyage:22sex:female注意:value与前⾯的 - 之间有⼀个空格。

[转]spring配置文件中classpath路径解析

[转]spring配置文件中classpath路径解析

[转]spring配置⽂件中classpath路径解析
src不是classpath, WEB-INF/classes,lib才是classpath
WEB-INF/ 是资源⽬录, 客户端不能直接访问,
这话是没错,不过现在的IDE编译器在编译时会把src下的⽂件(是⽂件,不是.java)移到WEB-INF/classes下。

不过值得注意的是,spring 配置⽂件⾥这个locations是uri表⽰,也就是说你写的jdbc.properties是当前相对路径,要访问classpath记得要这样写:
<value>classpath:jdbc.properties</value>
⾸先 classpath是指 WEB-INF⽂件夹下的classes⽬录
解释classes含义:
1.存放各种资源配置⽂件 eg.init.properties log4j.properties struts.xml
2.存放模板⽂件 eg.actionerror.ftl
3.存放class⽂件对应的是项⽬开发时的src⽬录编译⽂件
总结:这是⼀个定位资源的⼊⼝
如果你知道开发过程中有这么⼀句话:惯例⼤于配置那么也许你会改变你的想法
对于第⼆个问题
这个涉及的是lib和classes下⽂件访问优先级的问题: lib>classes
对于性能的影响应该不在这个范畴
classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找⽂件;
classpath*:不仅包含class路径,还包括jar⽂件中(class路径)进⾏查找.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<beans
xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xmlns:p="/schema/p"
xmlns:tx="/schema/tx"
xmlns:aop="/schema/aop"
xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.1.xsd /schema/tx
/schema/tx/spring-tx-3.1.xsd
/schema/aop
/schema/aop/spring-aop-3.1.xsd"> xmlns:意思为域,为提供xml命名空间支持而添加的域。

首先,xml有格式,而为了spring的配置文件增加的节点能满足要求合法,所以必须引用校验该xml的格式文件。

下面解释上面代码的每一行。

1. 第一行:初始化bean的格式文件地址
2. 第二行:辅助初始化bean
3. 第三行:Spring的p标签是基于xml Schema的配置方式,
目的是简化配置方式,如果不需要简化,可删除
4. 第四行:关于spring的上下文
5. 第五行:关于面向切面编程
6. 第六行:用来定义xmlschema的地址,也就是xml书写时需
要遵循的语法,两部分组成,前面是命名空间的名字,后面是
xsd(xmlschema)的地址。

相关文档
最新文档