SSH整合(xmlと注解バージョン)

7986 ワード

spring配置は注釈を使って実現します.
 第一歩: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;
	}
}