springmvc 項目完整示例02 項目創建-eclipse創建動態web項目 配置文件 junit單元測試


ab017006-a7d7-4215-ad2b-f396e6b74710[4]

包結構

305138d6-86ce-4359-9e92-85d0fe86e2e0[4]

所需要的jar包直接拷貝到lib目錄下

dc3b5990-dc54-4bde-81d2-48ebae3bfb19[4]

然后選定 build path 

之后開始寫項目代碼

配置文件

ApplicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">

 

 

 

<!--掃描類包,標注spring注解的類自動轉換成bean,同時完成bean的注入 (這樣類中定義的spring注解 比如@repository @autowired等才能起作用) -->

<context:component-scan base-package="com.bbs.dao" />

 

<!--掃描service包,應用spring注解配置 -->

<context:component-scan base-package="com.bbs.service" />

 

<!--配置事務管理器 -->

<bean id= "transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

p:dataSource-ref="dataSource"

/>

 

<!-- 通過AOP配置提供事務增強,讓service包下所有的bean的所有方法擁有事務 -->

<aop:config proxy-target-class="true">

<aop:pointcut id="serviceMethod"

expression="execution(* com.bbs.service..*(..))" />

<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>

</aop:config>

 

<tx:advice id="txAdvice" transaction-manager="transactionManager">

<tx:attributes>

<tx:method name="*" />

</tx:attributes>

</tx:advice>

 

<!-- 定義一個使用DBCP實現的數據源 -->

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"

destroy-method="close"

p:driverClassName="com.mysql.jdbc.Driver"

p:url="jdbc:mysql://localhost:3306/sampledb"

p:username="root"

p:password="123456"/>

 

<!--定義jdbc模板bean -->

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"

p:dataSource-ref="dataSource"/>

 

 

</beans>

 

兩個實體

User.java

package com.bbs.domain;

 

import java.io.Serializable;

import java.util.Date;

 

public class User implements Serializable{

 

/**

*

*/

private static final long serialVersionUID = 1L;

private int userId;

private String userName;

private String password;

private int credits;

private String lastIp;

private Date lastVisit;

 

 

public int getUserId() {

return userId;

}

public void setUserId(int userId) {

this.userId = userId;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public int getCredits() {

return credits;

}

public void setCredits(int credits) {

this.credits = credits;

}

public String getLastIp() {

return lastIp;

}

public void setLastIp(String lastIp) {

this.lastIp = lastIp;

}

public Date getLastVisit() {

return lastVisit;

}

public void setLastVisit(Date lastVisit) {

this.lastVisit = lastVisit;

}

 

 

}

 

LoginLog.java

package com.bbs.domain;

 

import java.io.Serializable;

import java.util.Date;

 

public class LoginLog implements Serializable{

/**

*

*/

private static final long serialVersionUID = 1L;

private int loginLogId;

private int userId;

private String ip;

private Date loginDate;

public int getLoginLogId() {

return loginLogId;

}

public void setLoginLogId(int loginLogId) {

this.loginLogId = loginLogId;

}

public int getUserId() {

return userId;

}

public void setUserId(int userId) {

this.userId = userId;

}

public String getIp() {

return ip;

}

public void setIp(String ip) {

this.ip = ip;

}

public Date getLoginDate() {

return loginDate;

}

public void setLoginDate(Date loginDate) {

this.loginDate = loginDate;

}

 

 

}

 

兩個dao(用的jdbcTemplate)

LoginLogDao.java

package com.bbs.dao;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Repository;

 

import com.bbs.domain.LoginLog;

 

@Repository

public class LoginLogDao {

 

@Autowired

private JdbcTemplate jdbcTemplate;

 

public void insertLoginLog(LoginLog loginLog){

 

String sqlString ="INSERT INTO t_login_log(user_id,ip,login_datetime)"

+"VALUE(?,?,?)";

 

Object[] args={loginLog.getUserId(),loginLog.getIp(),loginLog.getLoginDate()};

 

jdbcTemplate.update(sqlString, args);

}

}

 

 

UserDao.java

package com.bbs.dao;

 

import java.sql.ResultSet;

import java.sql.SQLException;

 

import org.omg.CORBA.PUBLIC_MEMBER;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowCallbackHandler;

import org.springframework.stereotype.Repository;

 

import com.bbs.domain.User;

 

@Repository

public class UserDao {

 

@Autowired

private JdbcTemplate jdbcTemplate;

 

public int getMatchCount(String userName,String password){

 

String sqlString="SELECT count(*) FROM t_user "

+"WHERE user_name=? and password=?";

return jdbcTemplate.queryForObject(sqlString,new Object[]{ userName,password}, java.lang.Integer.class);

 

}

 

 

public User findUserByUserName(final String userName){

String sqlString ="SELECT user_id,user_name,credits "

+"FROM t_user WHERE user_name=?";

final User user = new User();

jdbcTemplate.query(sqlString, new Object[]{userName},

new RowCallbackHandler() {

 

@Override

public void processRow(ResultSet rs) throws SQLException {

// TODO Auto-generated method stub

user.setUserId(rs.getInt("user_id"));

user.setUserName(userName);

user.setCredits(rs.getInt("credits"));

 

}

});

 

return user;

 

}

 

public void updateLoginInfo(User user){

String sqlString="UPDATE t_user SET last_visit=?,last_ip=?,credits=?"

+"WHERE user_id=?";

jdbcTemplate.update(sqlString,new Object[]{user.getLastVisit(),user.getLastIp(),user.getCredits(),user.getUserId()});

 

}

 

}

 

還有一個service

UserService.java

 

package com.bbs.service;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

 

import com.bbs.dao.LoginLogDao;

import com.bbs.dao.UserDao;

import com.bbs.domain.LoginLog;

import com.bbs.domain.User;

 

@Service

public class UserService {

 

@Autowired

private UserDao userDao;

 

@Autowired

private LoginLogDao loginLogDao;

 

public boolean hasMatchUser(String userName,String password){

int matchCount = userDao.getMatchCount(userName, password);

return matchCount > 0 ;

}

 

 

public User findUserByUserName(String userName){

return userDao.findUserByUserName(userName);

 

}

 

public void loginSucess(User user){

 

user.setCredits(5+user.getCredits());

 

 

LoginLog loginLog = new LoginLog();

 

loginLog.setUserId(user.getUserId());

loginLog.setIp(user.getLastIp());

loginLog.setLoginDate(user.getLastVisit());

 

 

userDao.updateLoginInfo(user);

loginLogDao.insertLoginLog(loginLog);

 

}

}

 

至此后台代碼完畢

增加一個測試函數

TestUserService.java

 

package test.bbs.service;

 

import static org.junit.Assert.*;

 

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

 

import com.bbs.domain.User;

import com.bbs.service.UserService;

 

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"/applicationContext.xml"})

 

public class TestUserService {

 

@Autowired

private UserService userService;

 

@Test

public void hasMAtchUser(){

boolean b1 = userService.hasMatchUser("admin", "123456");

boolean b2 = userService.hasMatchUser("admin", "11111");

 

assertTrue(b1);

//assertTrue(b2);

 

}

 

@Test

public void findUserByUserName(){

User user = userService.findUserByUserName("admin");

assertEquals(user.getUserName(),"admin");

}

 

}

 

運行測試,run  as JUnit test

測試成功

 

spring原理 實踐解析-簡單的helloworld

spring原理案例-基本項目搭建 01 spring framework 下載 官網下載spring jar包

spring原理案例-基本項目搭建 02 spring jar包詳解 spring jar包的用途

spring原理案例-基本項目搭建 03 創建工程運行測試 spring ioc原理實例示例

springmvc整合mybatis完整項目示例

springmvc 項目完整示例01 需求與數據庫表設計 簡單的springmvc應用實例 web項目

springmvc 項目完整示例02 項目創建-eclipse創建動態web項目 配置文件 junit單元測試

springmvc 項目完整示例03 小結

springmvc 項目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql語句 mybatis應用

springmvc 項目完整示例05  日志 --log4j整合 配置 log4j屬性設置 log4j 配置文件 log4j應用

springmvc 項目完整示例06 日志–log4j 參數詳細解析 log4j如何配置

springmvc 項目完整示例07 設置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置

springmvc 項目完整示例08 前台頁面以及知識點總結

maven項目整合springmvc整合mybatis

eclipse 創建maven 項目 動態web工程完整示例

eclipse 創建maven 項目 動態web工程完整示例 maven 整合springmvc整合


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM