Java靜態(tài)代碼塊加載驅動代碼實例
Demo1.funx();
String s=Demo1.string;
靜態(tài)代碼塊 會在new一個該類對象時調用
或者調用該類的靜態(tài)方法,靜態(tài)成員變量時調用
總之在類加載器將該類加載到內存中時 (無論是通過哪種方式) 都會調用靜態(tài)代碼塊
靜態(tài)成員變量 靜態(tài)代碼塊永遠只被初始化一次 無論new多少個對象
加載類時 初始化順序 靜態(tài)成員->靜態(tài)代碼塊 ->變量,初始化塊->構造函數
由于靜態(tài)代碼塊永遠只被加載一次的特性
常被用來加載配置文件 等初始化操作(單例模式)
例子
static {
Configuration cfg = new Configuration();
// cfg.configure(); // ��ȡĬ�ϵ������ļ���hibernate.cfg.xml��
// // cfg.configure("hibernate.cfg.xml"); // ��ȡָ��λ�õ������ļ�
// sessionFactory = cfg.buildSessionFactory();
// cfg.addResource("cn/itcast/a_helloworld/User.hbm.xml");
// cfg.addClass(User.class); // ȥUser�����ڵİ��в������ΪUser����Ϊ.hbm.xml���ļ�
// ��ʼ��SessionFactory
sessionFactory = new Configuration()//
.configure()//
.buildSessionFactory();
}
加載驅動
private static Properties props = null;
static{
try {
//獲取Property配置 并初始化 加載流到prop中
InputStream inputStream=JdbcUtils.class.getClassLoader().getResourceAsStream("dbconfig.properties");
props=new Properties();
props.load(inputStream);
} catch (IOException e) {
throw new RuntimeException();
}
try {
//加載驅動類
Class.forName(props.getProperty("driverClassName"));
} catch (ClassNotFoundException e) {
throw new RuntimeException();
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
通過spring boot 設置tomcat解決 post參數限制問題
這篇文章主要介紹了通過spring boot 設置tomcat解決 post參數限制問題,需要的朋友可以參考下2019-05-05
詳解springboot接口如何優(yōu)雅的接收時間類型參數
這篇文章主要為大家詳細介紹了springboot的接口如何優(yōu)雅的接收時間類型參數,文中為大家整理了三種常見的方法,希望對大家有一定的幫助2023-09-09
SpringSecurity中的Filter Chain(過濾器鏈)
Spring Security的Filter Chain是由一系列過濾器組成的管道,每個過濾器執(zhí)行特定的安全功能,Spring Security能夠提供強大而靈活的安全控制機制,從而保護你的應用程序不受各種網絡安全威脅的侵害,本文介紹SpringSecurity中的Filter Chain,感興趣的朋友跟隨小編一起看看吧2024-06-06

