ハイベルナー【Springとの整合】
11634 ワード
前言
Springを使ってStruts 2と統合する方法を勉強しましたが、このブログではSpringを使ってヒップホップを統合する方法を説明します.
SpringとHibernateの統合のポイント:Session FactoryオブジェクトをSpringに渡して作成 Hibernateの事務はSpringに任せて管理する SpringとHibernateの統合手順
jarパッケージを導入する接続池/データベースドライバ Hibernate関連jar Springコアバッグ(5個) Spring aopバッグ(4個) spring-orm-3.25.RELEASE.jar【springのhibernateへのサポート】 スプリング-tx-3.25.RELEASE.jar【事務関連】 設定ファイルhibernature.cfg.xml bean.xml bean.xmlUser IUserインターフェース UserDao user Service
まず、私たちはuserDao、userServiceのためにSpringを使ってオブジェクトを作成します.また、オブジェクトの依存関係を追加して、Springの環境が成功しているかどうか見てみます.UserDaoの作成例--@@Repository user Serviceの例を作成し、userDao属性 Springプロファイルに注釈スキャナー テスト:userServiceオブジェクトの入手に成功し、userServiceオブジェクトにはuserDao属性が含まれている値 マッピングプロファイル メインプロファイルロードマップ Session Factory、Session 試験:
Springとヒップホップを統合するポイントの一つはSpringを使ってSession Factoryオブジェクトを作成することです.この中には三つの方法があります.Session Factoryを作成します.
hibernateの主な配置ファイルを直接読み込む
私たちは、HibernateがC 3 P 0に対する接続池の支持度がSpringに及ばないことを知っていますので、Springの接続池を使用することができます.したがって、私たちはヒップホップの主な構成ファイルをロードし、Springのデータベース接続プールを使用します.
つまり、一部はヒップホップ.cfg.xmlに配置され、一部はSpringファイルに配置されている.
上の部分はHibernateの主な配置ファイルをロードしています.一部分はSpringプロファイルを使用したデータベース接続池です.これはよくないです.Springで同じ管理を行うべきです.
Spring管理事務
これまで、私たちはヒップホッププログラミング式事務制御管理を利用してきました.Springとヒップホップネイトを統合するもう一つの鍵は、Springを使ってヒップホップネイトを事務管理することです.
userDao
Springを使ってStruts 2と統合する方法を勉強しましたが、このブログではSpringを使ってヒップホップを統合する方法を説明します.
SpringとHibernateの統合のポイント:
jarパッケージを導入する
ヒベルナ.cfg.xml
com.mysql.jdbc.Driver
jdbc:mysql:///zhongfucheng
root
root
org.hibernate.dialect.MySQL5Dialect
true
true
create
配置環境テストの構築
package bb;
/**
* Created by ozc on 2017/5/15.
*/
public class User {
private String name;
private String password;
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
public interface IUser {
void save();
}
public class UserDao implements IUser {
@Override
public void save() {
}
}
public class UserService {
private UserDao userDao;
public void save() {
userDao.save();
}
}
Spring環境をテストしますまず、私たちはuserDao、userServiceのためにSpringを使ってオブジェクトを作成します.また、オブジェクトの依存関係を追加して、Springの環境が成功しているかどうか見てみます.
@Repository
public class UserDao implements IUser {
@Override
public void save() {
}
}
@Service
public class UserService {
@Autowired
private UserDao userDao;
public void save() {
userDao.save();
}
}
public class Test2 {
@Test
public void test33() {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-config.xml");
UserService userService = (UserService) ac.getBean("userService");
System.out.println(userService);
}
}
ハイベルナー環境をテストします.
@Repository
public class UserDao implements IUser {
@Override
public void save(User user) {
// SessionFactory
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
// Session
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
session.close();
}
}
public class Test2 {
@Test
public void test33() {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-config.xml");
UserService userService = (UserService) ac.getBean("userService");
userService.save(new User());
}
}
Springを使ってSession Factoryオブジェクトを作成します.Springとヒップホップを統合するポイントの一つはSpringを使ってSession Factoryオブジェクトを作成することです.この中には三つの方法があります.Session Factoryを作成します.
hibernateの主な配置ファイルを直接読み込む
では、userDaoでは、私達自身でマニュアルでSession Factoryオブジェクトを作成しなくてもいいです.
@Repository
public class UserDao implements IUser {
@Autowired
private SessionFactory sessionFactory;
@Override
public void save(User user) {
// Session
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
session.close();
}
}
接続池はSpring管理に渡します.私たちは、HibernateがC 3 P 0に対する接続池の支持度がSpringに及ばないことを知っていますので、Springの接続池を使用することができます.したがって、私たちはヒップホップの主な構成ファイルをロードし、Springのデータベース接続プールを使用します.
つまり、一部はヒップホップ.cfg.xmlに配置され、一部はSpringファイルに配置されている.
配置ファイルは全部Springに書いてあります.【推奨】上の部分はHibernateの主な配置ファイルをロードしています.一部分はSpringプロファイルを使用したデータベース接続池です.これはよくないです.Springで同じ管理を行うべきです.
org.hibernate.dialect.MySQLDialect
true
update
bb/User.hbm.xml
私たちがオススメしているのはこのタイプを使うと、ヒップホップのプロファイルが少なくなります.そして管理を統一しやすいです.Spring管理事務
これまで、私たちはヒップホッププログラミング式事務制御管理を利用してきました.Springとヒップホップネイトを統合するもう一つの鍵は、Springを使ってヒップホップネイトを事務管理することです.
注意すべきなのは、SpringとHibernateを統合し、SpringはスレッドのSessionだけをサポートしており、マニュアルで構成する必要はありません.userDao
@Repository
public class UserDao implements IUser {
@Autowired
private SessionFactory sessionFactory;
@Override
public void save(User user) {
sessionFactory.getCurrentSession().save(user);
}
}
user Service追加@Transactional
Hbernateに事務管理を追加しました.
@Service
@Transactional
public class UserService {
@Autowired
private UserDao userDao;
public void save(User user) {
userDao.save(user);
}
}
文章に間違いがあれば指摘を歓迎し、お互いに交流します.WeChatで技術記事を読むことに慣れています.より多くのJava資源を得ようとする学生は、WeChat公式アカウントに注目してください.