一直没有写博客的习惯,今天有空就写一篇。
在SSH架构中,spring一般与hiberante做搭档,数据库连接方式写在hiberante的配置文件中,在spring管理hibernate中的配置文件中,但hiberante配置用户名和密码是明文的,本文针对此写配置做了加密处理方法如下:
1.要修改配置文件:在hibernate.cfg.xml配置中用户名和密码下面加入:<property name="connection.provider_class">fullpath.SelfClass</property>
这里要类完整的路径。
2.要添加自定义class,主要是重写configure方法,该方法在
org.hibernate.connection.DriverManagerConnectionProvider类中
SelfClass.java源码如下:
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.cfg.Environment;
public class SelfClass extends
org.hibernate.connection.DriverManagerConnectionProvider {
public void configure(Properties props)throws
HibernateException{
String user=props.getProperty(Environment.USER);
String pwd=props.getProperty(Environment.PASS);
//下面是解密,修改用户名和密码
props.setProperty(Environment.USER,类解密函数(user));
props.setProperty(Environment.PASS,类解密函数(pwd));
super.configure(props);//继承父类,很重要,要不然连接字符串会没有
}
}