Spring配置文件的几种读取方式 女爷i 2021-09-24 16:24 414阅读 0赞 项目路径:[https://gitee.com/wuhan1/spring-parent.git][https_gitee.com_wuhan1_spring-parent.git] 下的spring-01 1.新建spring工程,引入需要依赖的最少jar包,spring-aop,spring-beans,spring-content,spring-core,spring-expression ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RoajE5OTE4MQ_size_16_color_FFFFFF_t_70][] <properties> <spring.version>5.0.4.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies> applicationContext.xml文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd"> <bean id="student" class="com.xqc.Student"></bean> </beans> Student类 public class Student { //学号 private Integer stuNo; //姓名 private String stuName; public Integer getStuNo() { return stuNo; } public void setStuNo(Integer stuNo) { this.stuNo = stuNo; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public Student(Integer stuNo, String stuName) { this.stuNo = stuNo; this.stuName = stuName; } public Student() { } } 方式1: ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Student student = (Student) context.getBean("student"); System.out.println(student); 方式2: BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml")); Student student = (Student) beanFactory.getBean("student"); System.out.println(student); 方法1和方法2是基于classpath解析配置文件 方式3: FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("/spring-01/src/main/resources/applicationContext.xml"); Student student = (Student) context.getBean("student"); System.out.println(student); 此方式是已项目为根路径,需要些xml文件在项目中的全路径 方式4: String rootPath = System.getProperty("user.dir"); BeanFactory context = new XmlBeanFactory(new FileSystemResource(rootPath+"/spring-01/src/main/resources/applicationContext.xml")); Student student = (Student) context.getBean("student"); System.out.println(student); 此方式以系统为根路径 方式5: <!-- web启动读取applicationContext.xml --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> 通过监听器的方式,这种是我最常用的,通常在整合其他框架的时候,就是这样用的。 [https_gitee.com_wuhan1_spring-parent.git]: https://gitee.com/wuhan1/spring-parent.git [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RoajE5OTE4MQ_size_16_color_FFFFFF_t_70]: /images/20210923/74529038e8fa455e9f5bc89b8fb0fbad.png
还没有评论,来说两句吧...