SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean
1.简介
在SSH框架下,假设我们将配置文件放在项目的src/datasource.properties路径下,Spring的配置文件也是src/applicationContext.xml路径下,那么我们可以借助Spring的property-placeholder读取配置文件,然后注入Bean中。我们在程序中,可以根据Bean的Id,获取注入的值。这样我们就可以借助Spring来读取配置文件。
2.Code
2.1Student.java
- package edu.njupt.zhb.model.mysql;
- /**
- * Student entity. @author MyEclipse Persistence Tools
- */
- public class Student implements java.io.Serializable {
- // Fields
- private String id;
- private String name;
- private String course;
- private Integer score;
- private String remarks;
- // Constructors
- /** default constructor */
- public Student() {
- }
- /** minimal constructor */
- public Student(String name, String course, Integer score) {
- this.name = name;
- this.course = course;
- this.score = score;
- }
- /** full constructor */
- public Student(String name, String course, Integer score, String remarks) {
- this.name = name;
- this.course = course;
- this.score = score;
- this.remarks = remarks;
- }
- // Property accessors
- public String getId() {
- return this.id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getName() {
- return this.name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getCourse() {
- return this.course;
- }
- public void setCourse(String course) {
- this.course = course;
- }
- public Integer getScore() {
- return this.score;
- }
- public void setScore(Integer score) {
- this.score = score;
- }
- public String getRemarks() {
- return this.remarks;
- }
- public void setRemarks(String remarks) {
- this.remarks = remarks;
- }
- }
2.2datasource.properties中的配置
- #student config
- student.name=Haibo
- student.id=1012010638
- student.course=Java
- student.score=90
- student.remarks=Come from Properties
2.3Spring配置文件applicationContext.xml部分配置
- <!-- 引入datasource配置文件 -->
- <context:property-placeholder location="classpath:datasource.properties" />
- <bean id="student" class="edu.njupt.zhb.model.mysql.Student">
- <property name="id" value="${student.id}" />
- <property name="name" value="${student.name}" />
- <property name="course" value="${student.course}" />
- <property name="score" value="${student.score}" />
- <property name="remarks" value="${student.remarks}" />
- </bean>
2.4读取Spring中的Bean函数
- /*
- * $filename: BeanUtils.java,v $
- * $Date: 2013-12-9 $
- * Copyright (C) ZhengHaibo, Inc. All rights reserved.
- * This software is Made by Zhenghaibo.
- */
- package edu.njupt.zhb.tools;
- import org.apache.struts2.ServletActionContext;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.FileSystemXmlApplicationContext;
- /*
- *@author: ZhengHaibo
- *web: http://blog.csdn.net/nuptboyzhb
- *mail: zhb931706659@126.com
- *2013-12-9 Nanjing,njupt,China
- */
- public class BeanUtils {
- /**
- * 获取Spring中注入的Bean
- * @param beanId:id
- * @return
- */
- public static Object getSpringBean(String beanId){
- //Spring配置文件的路径
- String xmlRealPath = ServletActionContext.getServletContext().getRealPath("/WEB-INF/classes/applicationContext.xml");
- ApplicationContext ac = new FileSystemXmlApplicationContext(xmlRealPath);
- return ac.getBean(beanId);
- }
- }
2.5我们可以通过如下方式,获得Spring注入的值
- Student stu = (Student)BeanUtils.getSpringBean("student");
2.6用JSONObject工具打印一下stu对象的值
- System.out.println(JSONObject.fromObject(stu).toString());
2.7运行结果为:
- {"course":"Java","id":"1012010638","name":"Haibo","remarks":"Come from Properties","score":90}
SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean的更多相关文章
- Spring读取配置文件,获取bean的几种方式
BeanFactory有很多实现类,通常使用 org.springframework.beans.factory.xml.XmlBeanFactory类.但对于大部分J2EE应用而言,推荐使 用App ...
- spring读取配置文件内容并自动注入
添加注解: @PropertySource(value={"classpath:venus.properties"}) 示例: import org.springframework ...
- java web路径和spring读取配置文件
此篇博客缘起:部署java web系统到阿里云服务器(ubuntu14.04)的时候,有以下两个问题 找不到自定义的property配置文件 上传图片的时候找不到路径 开发的时候是在windows上的 ...
- Spring 读取配置文件(一)
注册 @Configuration 标识的类,spring 读取配置文件的时候该类会被自动装载 package cn.com.receive;import org.springframework.be ...
- Spring 读取配置文件(二)
Spring 读取配置文件并调用 bean package cn.com.test.receive; import org.springframework.beans.factory.annotati ...
- 【Spring】非Spring IOC容器下获取Spring IOC上下文的环境
前言 在Spring Web项目中,有些特殊的时候需要在非Spring IOC容器下获取Spring IOC容器的上下文环境,比如获取某个bean. 版本说明 声明POM文件,指定需引入的JAR. & ...
- SSH框架系列:Spring配置多个数据源
分类: [java]2013-12-09 16:59 1247人阅读 评论(0) 收藏 举报 1.问题的引入 对于普通的SSH框架而言,一般配置一个数据源,一个SessionFactory,一个事务管 ...
- 关于spring读取配置文件的两种方式
很多时候我们把需要随时调整的参数需要放在配置文件中单独进行读取,这就是软编码,相对于硬编码,软编码可以避免频繁修改类文件,频繁编译,必要时只需要用文本编辑器打开配置文件更改参数就行.但没有使用框架之前 ...
- Spring读取配置文件的几种方式
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; imp ...
随机推荐
- 三 模拟实现顺序表ArrayList
/** * 顺序表,重点是数组动态扩容,插入 * 底层采用数组,长度可以动态变化,此处采用增长一倍 * java.util.ArrayList每次增长50% * int newCapacity = ...
- ➡️➡️➡️IELTS Listening
目录 src numbers and letters src https://ielts-simon.com/ielts-help-and-english-pr/ielts-listening/ nu ...
- 十、Spring中常用注解-分层整理
1.@Controller: 标注展示层组件(Bean),但是目前该功能与 @Component 相同,用来创建处理http请求的对象 Spring4之后加入的注解,原来在@Controller中 ...
- 基于FPM制作RPM软件包!
工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一 ...
- apache、mysql、php核心、phpmyadmin的安装及相互关联
1.apache的安装 https://blog.csdn.net/ashendove/article/details/52206198 里面的serverName 就是你在服务中 设置的apach ...
- WPF TreeGrid Binding 简易实现方式
在設計TreeView編輯狀況下,希望 TreeItemName 后续的编辑框 复选框 可以整齐排列. 参考微软提供的TREELISTVIEW,发现它是根据层级关系调整Margin 属性. 我这边按照 ...
- 「JSOI2014」电信网络
「JSOI2014」电信网络 传送门 一个点选了就必须选若干个点,最大化点权之和,显然最大权闭合子图问题. 一个点向它范围内所有点连边,直接跑最大权闭合子图即可. 参考代码: #include < ...
- 折腾前端条形码(Barcode)扫描识别, 笔记
barcode @zxing/library 方案 本地勉强把 Demo 在 React 里面跑通, 但是不好控制开始结束, API 不明确.实际识别率很低. 我是用手机屏幕放的条形码, 大概也有影响 ...
- PAT T1005 Programming Pattern
建立后缀数组,遍历height数组找到连续大于len的最长子序列~ #include<bits/stdc++.h> using namespace std; ; char s[maxn]; ...
- SpringMVC笔记三
课程安排: 第一天:springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 springmvc入门程序 目的: ...