在开发过程中,有的时候系统并不需要从数据库中读取用户登录信息,而是简单的写在一个配置文件中,从配置文件中验证用户名、密码。具体思路如下:
1、第一步,先新建一个.properties文件,该文件主要定义系统初始化的用户名、密码
app.properties 写道
admin=admin
test=test
test=test
2、第二步,新建一个xml文件,主要作用是在springmvc中定义一个bean对象
<!-- 系统配置参数. --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <!-- 多个PropertyPlaceholderConfigurer,需要设置本属性为true. --> <property name="ignoreUnresolvablePlaceholders" value="true" /> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="location" value="classpath:/fynetAdminSettings/app.properties" /> </bean> <bean id="sysUsersConfigBean" class="com.fyard.fynet.core.settings.admin.SysUsersConfigBean"> <property name="sysUserInfo"> <map> <entry key="admin"> <value>${admin}</value> </entry> <entry key="test"> <value>${test}</value> </entry> </map> </property> </bean>
3、第三步,新建一个JAVABEAN对象,xml文件中的class属性值就是该javabean的具体位置,property值就是javabean中的字段,具体代码如下:
package com.fyard.fynet.core.settings.admin; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Component; /** * 系统用户对象 * */ @Component public class SysUsersConfigBean { private Map<String, String> sysUserInfo = new HashMap<String, String>(); public Map<String, String> getSysUserInfo() { return sysUserInfo; } public void setSysUserInfo(Map<String, String> sysUserInfo) { this.sysUserInfo = sysUserInfo; } public String getPassword(String username) { return sysUserInfo.get(username); } }
以上三步就可以直接读取配置文件中的数据,.properties文件中的值会自动映射到xml文件中的bean中,SysUsersConfigBean该类已经被标注为@Component,在service层就可以直接调用即可