国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Spring框架講解-一個簡單的實踐

2024-07-21 02:14:44
字體:
來源:轉載
供稿:網友

一,場景:編寫一個用戶管理的服務層,包括增加用戶、刪除用戶和查詢用戶等等,而且用戶信息以關系型數據庫形式存儲。
分析:
這是一個典型的應用服務,涉及到業務層(business objects layer)、數據庫訪問層(db access)和存儲層(eis)。
采用典型的架構:bo+dao
dao采用spring提供的jdbctemplate來進行封裝。

二,具體實現

1)用戶類user
public class user{
          private string username;
          private string email;
          private date birthday;
          public user(){}
          …
          相應的setter/getter方法。
    }
    這是一個簡單的bean類,記錄用戶的信息。
   
2)數據庫訪問類:userdao

public interface userdao {
  public void save(user user);
      public void remove(string username);
      public user searchbyname(string username);
 }
    這是數據庫訪問的接口類,定義了對用戶的數據庫操作,其實現類是userdaojdbc
   
userdaojdbc類

public class userdaojdbc extends jdbcdaosupport implements userdao {
     public userdaojdbc() {
         super();
     }
     public void save(user user) {
         getjdbctemplate().update(
                 "insert into sample_user values (?,?,?)",
                 new object[] { user.getusername(), user.getemail(),
                         user.getbirthday() });
     }
            ...
     }
3)業務類usermanageservice
public interface usermanageservice {
     public void saveuser(user user);
     public void removeuser(string username);
     public user getuserbyname(string username);
 }
    這是用戶的業務類接口,定義了和用戶相關的一些業務操作,其實現類usermanageserviceimpl

實現類usermanageserviceimpl

public class usermanageserviceimpl implements usermanageservice {

     private userdao udao;

     public usermanageserviceimpl() {
         super();
     }
 
     public void saveuser(user user) {
         udao.save(user);
     }
     public userdao getudao() {
        return udao;
     }
     public void setudao(userdao udao) {
         this.udao = udao;
     }
}

4)spring bean描述文件配置

<beans>
 <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource">
  <property name="driverclassname">
   <value>oracle.jdbc.driver.oracledriver</value>
  </property>
  <property name="url">
   <value>jdbc:oracle:thin:@172.16.4.219:1521:orcl</value>
  </property>
  <property name="username">
   <value>zhangbo</value>
  </property>
  <property name="password">
   <value>password</value>
  </property>
 </bean>
 <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
  <property name="datasource">
   <ref bean="datasource"/>
  </property>
 </bean>
 <bean id="userdao" class="sample.spring.dao.userdaojdbc">
  <property name="datasource">
   <ref bean="datasource"/>
  </property>
 </bean>
 <bean id="usermanageservice" class="sample.spring.service.usermanageserviceimpl">
  <property name="udao">
   <ref bean="userdao"/>
  </property>
 </bean>
</beans>

5)數據中存儲用戶的表sample_user
username   varchar2(30) not null,
email      varchar2(50) not null,
birthday      date

6)通過單元測試來驗證usermanageservice中的操作:
public class usermanageservicetest extends testcase {

    private usermanageservice service;

    private static log logger = logfactory.getlog(usermanageservicetest.class);

    protected void setup() throws exception {
        super.setup();
        service = (usermanageservice) springcontextutil
                .getbean("usermanageservice");
    }
    public void testsaveandsearchandremoveuser() throws exception {
        user user = new user();
        user.setusername("zhangsan");
        user.setemail("[email protected]");
        user.setbirthday(new date());
        service.saveuser(user);
        logger.debug("存入一個新用戶:" + user);
        user userfromdb = service.getuserbyname("zhangsan");
        assertnotnull(userfromdb);
        assertequals(userfromdb.getemail(), "[email protected]");
        logger.debug("從數據庫中查到用戶:" + userfromdb);
        service.removeuser("zhangsan");
        logger.debug("從數據庫刪除用戶:" + userfromdb);
    }
    protected void teardown() throws exception {
        super.teardown();
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 于田县| 汤原县| 太湖县| 梅河口市| 鄂尔多斯市| 炎陵县| 杭锦旗| 富锦市| 巴彦县| 繁峙县| 绥芬河市| 本溪市| 武邑县| 吴桥县| 伊吾县| 麻城市| 垣曲县| 武功县| 禄丰县| 佛学| 微山县| 乌恰县| 高淳县| 陈巴尔虎旗| 文成县| 苏州市| 五常市| 武清区| 宣武区| 宜宾市| 黔南| 淳化县| 福建省| 措美县| 渝中区| 长乐市| 东宁县| 兴城市| 桃园县| 银川市| 丘北县|