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 ...
随机推荐
- 转入软工后第一节java课的作业
这个作业,鸽了好久.本来大家都在中秋前发了,我摸摸索索加上各种缓慢的学习,终于是将他做完了. 做完之后,java最基本的输入输出功能都基本学习到了.下面附上代码: import java.util.* ...
- leetcode 0206
目录 ✅ 292. Nim 游戏 ✅ 933. 最近的请求次数 ✅ 942. 增减字符串匹配 仍旧有需要思考的地方 py尝试 ✅ 977. 有序数组的平方 ✅ 292. Nim 游戏 https:// ...
- Python学习第二十七课——写一个和Django框架的自己的框架
MyWeb框架: from wsgiref.simple_server import make_server def application(environ, start_response): pri ...
- ios 物流时间轴,自动匹配电话号码,可点击拨打
http://www.code4app.com/thread-27587-1-1.html 资讯时间轴(折叠/展开) http://www.code4app.com/thread-32358-1-1. ...
- jquery怎么获取当前标签下的子标签
1.var num1=$("ul > a:eq(0)").attr("ID");2.var num2=$("ul").children ...
- 函数返回值retrun
如果函数不写retrun,默认返回None. return多个对象,那么Python帮我们把这多个对象封装成一个元组返回. return 作用 结束函数.返回某个对象
- elk安装2.0版本,自己总结,比较细致 es单机的安装
用root用户会报错,版本6之前还是可以用root用户启动的,针对es的保护,数据的一些问题,6之后就不允许了. 启动成功 下面验证一下 可以直接用浏览器访问,接受http访问 配置,因为没有暴露端 ...
- Caffe2 模型与数据集(Models and Datasets)[3]
Models and Datasets 这一节没什么有用的信息为了保证教程完整性,这里仍然保留这一节. 这一节唯一提到的一点就是: Caffe2的模型文件后缀是:.pb2 结语: 转载请注明出处:ht ...
- C++常量表达式、const、constexpr(C++11新增)的区别
常量表达式是指值不会改变且在编译过程中就能够得到计算结果的表达式,能在编译时求值的表达式. 程序先编译再运行: 在编译阶段, 编译器将在编译过程中把用到该常量的地方都全都替换为 常量的值. 但是常量 ...
- 【剑指Offer面试编程题】题目1360:乐透之猜数游戏--九度OJ
题目描述: 六一儿童节到了,YZ买了很多丰厚的礼品,准备奖励给JOBDU里辛劳的员工.为了增添一点趣味性,他还准备了一些不同类型的骰子,打算以掷骰子猜数字的方式发放奖品.例如,有的骰子有6个点数(点数 ...