(1)User类
package com.keen.domain;
public class User {
private String name ;
private String id;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", id=" + id + ", age=" + age + "]";
}
}
IUSerDAO
package com.keen.dao;
import com.keen.domain.User;
//DAO主要做增删改查的功能
public interface IUserDAO {
//我这里简单点,只做一个保存的操作
void sava(User u) ;
}
UserDAOImp
package com.keen.daoImplement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.keen.dao.IUserDAO;
import com.keen.domain.User;
import lombok.Cleanup;
import lombok.Setter;
public class UserDAOImpl implements IUserDAO{
private DataSource datasource;
public void setDatasource(DataSource datasource) {
this.datasource = datasource;
}
public void sava(User u) {
//连接数据库
try {
System.out.println("保存操作");
@Cleanup
Connection conn = datasource.getConnection();
String sql = "insert into User values('lily','333',25)";
@Cleanup
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(0, u.getName());
ps.setString(1, u.getId());
ps.setInt(2, u.getAge());
ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
IUserService
package com.keen.service;
import com.keen.domain.User;
public interface IUserService {
//注册用户
void register (User user);
}
IUserServiceImpl
package com.keen.service;
import com.keen.dao.IUserDAO;
import com.keen.domain.User;
public class IUserServiceImpl implements IUserService {
private IUserDAO dao;
public void setDao(IUserDAO dao) {
this.dao = dao;
}
@Override
public void register(User user) {
System.out.println("注册操作");
dao.sava(user);
}
}
userAction类
package register.action;
import com.keen.domain.User;
import com.keen.service.IUserService;
//模拟struct2的action / spring的controller
public class UserAction {
private IUserService service;
public void setService(IUserService service) {
this.service = service;
}
public String execute() {
System.out.println("注册请求");
service.register(new User());
return "success";
}
}
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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 从classPath的路径去加载db.properties文件 -->
<context:property-placeholder location="classpath:db.properties" system-properties-mode="NEVER" />
<!-- 配置一个durid的连接池 -->
<bean id = "dataSource" class ="com.alibaba.druid.pool.DruidDataSource"
init-method = "init" destroy-method="close">
<property name = "driverClassName" value ="${dirverClassName}"/>
<property name = "url" value ="${url}"/>
<property name = "username" value ="${username}"/>
<property name = "password" value ="${password}"/>
<property name = "initialSize" value ="${initialSize}"/>
</bean>
<!-- 配置DAO -->
<bean id = "userDao" class = "com.keen.daoImplement.UserDAOImpl">
<property name = "datasource" ref = "dataSource"/>
</bean>
<!-- 配置service -->
<bean id = "userService" class = "com.keen.service.IUserServiceImpl">
<property name = "dao" ref = "userDao"/>
</bean>
<!-- 配置action/controller -->
<bean id = "userAction" class = "register.action.UserAction">
<property name = "service" ref = "userService"/>
</bean>
</beans>
AutoTest
package com.keen.daoImplement;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import register.action.UserAction;
@SpringJUnitConfig
public class AutoTest {
@Autowired
private UserAction action;
@Test
void test() throws Exception {
action.execute();
}
}