Spring + Hibernate 項目配置(java class版本)

來源:互聯網
上載者:User

標籤:

1. 寫測試案例

說明:使用spring的原因我可以輕鬆配置Bean方便進行依賴注入

其中HibernateConfig是bean的設定檔

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=HibernateConfig.class)public class TestMessage {@Autowiredprivate SessionFactory sessionFactory;@Testpublic void test() {Session session = sessionFactory.openSession();org.hibernate.Transaction tx =  session.beginTransaction();Message message = new Message("hello world");Long msgId = (Long)session.save(message);tx.commit();session.close();}}

 2. 在HibernateConfig中實現dataSource和sessionFactory兩個bean

其中@ComponentScan具有自動掃描的功能

@Configuration@ComponentScanpublic class HibernateConfig {@Beanpublic DataSource dataSource(){    BasicDataSource dataSource = new BasicDataSource();    dataSource.setUrl("jdbc:mysql://localhost:3306/shopping");   dataSource.setDriverClassName("com.mysql.jdbc.Driver");    dataSource.setUsername("root");    dataSource.setPassword("");    return dataSource;}@Beanpublic LocalSessionFactoryBean sessionFactory(DataSource dataSource){//自動關聯其他的bean:dataSourceLocalSessionFactoryBean sfb = new LocalSessionFactoryBean();sfb.setDataSource(dataSource);sfb.setPackagesToScan(new String[] { "model" });//sfb.setMappingResources(new String[] { "Spitter.hbm.xml" });Properties props = new Properties();       props.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");       props.setProperty("hibernate.hbm2ddl.auto", "update");      props.setProperty("hibernate.show_sql", "true");sfb.setHibernateProperties(props);return sfb;}}

其中sessoinFactory的入參,dataSource會自被關聯到dataSource,進行注入。

 

Spring + Hibernate 項目配置(java class版本)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.