SSH整合(xmlと注解バージョン)
7986 ワード
spring配置は注釈を使って実現します.
第一歩:springを導入するにはjarパッケージが必要です.
以前の環境が導入されました.省略する
ステップ2:springプロファイルにcontext名前空間と制約を導入する
hibernateマッピングは注釈配置で実現します.
エンティティクラスマッピングの設定
springにおけるSession Factoryの配置変更
struts 2コメントをインポートするjarパッケージ
注釈を使ってアクションを設定する
第一歩:springを導入するにはjarパッケージが必要です.
以前の環境が導入されました.省略する
ステップ2:springプロファイルにcontext名前空間と制約を導入する
ステップ3:スキャンするパケットをspringプロファイルに配置する
第四ステップ:action、serviceとdaoをすべて注釈で配置する./**
*
*/
@Controller("customerAction")
@Scope("prototype")
public class CustomerAction extends ActionSupport implements ModelDriven {
@Autowired
private ICustomerService customerService;
//action
}
/**
*
*/
@Service("customerService")
public class CustomerServiceImpl implements ICustomerService {
@Autowired
private ICustomerDao customerDao;
//service
}
/**
*
*/
@Repository("customerDao")
public class CustomerDaoImpl implements ICustomerDao {
//dao HibernateTemplate, HibernateDaoSupport
@Autowired
private HibernateTemplate hibernateTemplate;
//dao
}
ステップ5:springプロファイルにHurnature Templateを配置する
ステップ6:スプリングプロファイルに事務マネージャを配置する
ステップ7:springプロファイルでspringを開いて注釈事務に対するサポート
第八ステップ:顧客の業務層実現類に@Transationコメントを使用する./**
*
*/
@Service("customerService")
@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
public class CustomerServiceImpl implements ICustomerService {
@Autowired
private ICustomerDao customerDao;
@Override
@Transactional(readOnly=true,propagation=Propagation.SUPPORTS)
public List findAllCustomer() {
return customerDao.findAllCustomer();
}
@Override
public void saveCustomer(Customer customer) {
customerDao.saveCustomer(customer);
}
}
hibernateマッピングは注釈配置で実現します.
エンティティクラスマッピングの設定
/**
*
* JPA :java
* JPA 。
* javax.persistence
*
*/
@Entity
@Table(name="cst_customer")
public class Customer implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="cust_id")
private Long custId;
@Column(name="cust_name")
private String custName;
@Column(name="cust_source")
private String custSource;
@Column(name="cust_industry")
private String custIndustry;
@Column(name="cust_level")
private String custLevel;
@Column(name="cust_address")
private String custAddress;
@Column(name="cust_phone")
private String custPhone;
public Long getCustId() {
return custId;
}
public void setCustId(Long custId) {
this.custId = custId;
}
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
public String getCustSource() {
return custSource;
}
public void setCustSource(String custSource) {
this.custSource = custSource;
}
public String getCustIndustry() {
return custIndustry;
}
public void setCustIndustry(String custIndustry) {
this.custIndustry = custIndustry;
}
public String getCustLevel() {
return custLevel;
}
public void setCustLevel(String custLevel) {
this.custLevel = custLevel;
}
public String getCustAddress() {
return custAddress;
}
public void setCustAddress(String custAddress) {
this.custAddress = custAddress;
}
public String getCustPhone() {
return custPhone;
}
public void setCustPhone(String custPhone) {
this.custPhone = custPhone;
}
@Override
public String toString() {
return "Customer [custId=" + custId + ", custName=" + custName + ", custSource=" + custSource
+ ", custIndustry=" + custIndustry + ", custLevel=" + custLevel + ", custAddress=" + custAddress
+ ", custPhone=" + custPhone + "]";
}
}
springにおけるSession Factoryの配置変更
org.hibernate.dialect.MySQLDialect
true
false
update
org.springframework.orm.hibernate5.SpringSessionContext
com.itheima.domain
struts 2配置は注釈を使って実現します.struts 2コメントをインポートするjarパッケージ
注釈を使ってアクションを設定する
/**
*
*/
@Controller("customerAction")
@Scope("prototype")
//------- struts2 -----------
@ParentPackage("struts-default")//
@Namespace("/customer")// , action
public class CustomerAction extends ActionSupport implements ModelDriven {
private Customer customer = new Customer();
@Autowired
private ICustomerService customerService;
@Override
public Customer getModel() {
return customer;
}
/**
*
* @return
*/
private List customers;
//
@Action(value="findAllCustomer",results={
@Result(name="findAllCustomer",
type="dispatcher",
location="/jsp/customer/list.jsp")
})
public String findAllCustomer(){
customers = customerService.findAllCustomer();
return "findAllCustomer";
}
/**
*
* @return
*/
@Action(value="addUICustomer",results={
@Result(name="addUICustomer",
location="/jsp/customer/add.jsp")
})
public String addUICustomer(){
return "addUICustomer";
}
/**
*
* @return
*/
@Action(value="addCustomer",results={
@Result(name="addCustomer",
type="redirect",
location="/jsp/success.jsp")
})
public String addCustomer(){
customerService.saveCustomer(customer);
return "addCustomer";
}
public List getCustomers() {
return customers;
}
public void setCustomers(List customers) {
this.customers = customers;
}
}