标签:spring
为了将来换一个好工作,学习点Spring的知识。会PHP、C++、Java,谁要是有好工作,请给我介绍个,好不好。
我是初学,所以很多不太懂,写这些东西,也只是为了方便自己以后看。有什么错的地方,大家多交流。
1.1 Spring的包下载,
下载了好多版本的包,我觉得这个很必要,因为总会有那么几个 .jar,在某个版本里被省略。我下的是3.2.7,但后面我还下载了其他版本,我会上传到我的下载里,方便大家下载。
1.2 创建一个简单程序结构
一个学生实体类,一个学生抽象接口,一个学生接口实现类。结构很明朗:接口主要用于统一调用接口实现类,接口实现类用于封装学生实体类(这里说封装不知道用的对不对)。然后还需要添加一个服务类。
基本的结构如下:
1.3 学生实体类介绍
package com.cn.objInstance;
/*
* student class
*/
public class Students {
private String sid; //studnet ID
private String name; //student Name
private int age; //student age
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.cn.objInterface;
import com.cn.objInstance.Students;
public interface StudentsDAO {
/*
*
*/
public boolean saveStudent(Students stu);
}
这个类主要用于实现保存学生信息的操作。原来的例子是System.out输出信息。但是真那样的话,我不就太小儿科了。于是就修改成将学生信息提交到数据库中了。其实这里我也有很多细节不懂。
我的电脑上装有MySQL数据库, 所以就决定使用MySQL数据库。建表的操作:
1.5.1 创建表,当然这种手工创建我也很不爽,后面咋们都修改成SQL创建吧。
1.5.2创建完成之后的预览:
1.5.3 接口实现类介绍
package com.cn.objImplement;
import javax.sql.DataSource;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import com.cn.objInstance.Students;
import com.cn.objInterface.StudentsDAO;
public class StudentsDaoImplements implements StudentsDAO {
//操作数据库的数据源
private JdbcTemplate jdbcTemplate;
/*
* @see com.cn.objInterface.StudentsDAO#saveStudent(com.cn.objInstance.Students)
*/
public boolean saveStudent(Students stu) {
if(stu!=null){
try{
jdbcTemplate.update("insert into baseinfo(studentsName,studentsAge,studentsID) values(?,?,?)",
new Object[]{stu.getName(),stu.getAge(),stu.getSid()},
new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER,java.sql.Types.VARCHAR});
}
catch(DataAccessException ex){
System.out.println(ex.getMessage());
}
System.out.print(stu.getName()+"-"+stu.getAge());
return true;
//save students
}
return false;
}
/*
* 设置数据源的注入接口
*/
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
}
1.6 称作服务层,服务类,为外界提供服务。
package com.cn.service;
import com.cn.objInstance.Students;
import com.cn.objInterface.StudentsDAO;
/*
*
*/
public class StudentsServices {
private StudentsDAO stuDao;
public StudentsDAO getStuDao() {
return stuDao;
}
public void setStuDao(StudentsDAO stuDao) {
this.stuDao = stuDao;
}
/*
* save students
* 服务层调用接口层
*/
public boolean saveStudents(Students stu){
return stuDao.saveStudent(stu);
}
}
基本的框架就是这样,应该很明显吧。
1.7 创建一个测试类。用于测试代码实现:
package com.cn.objTest;
import junit.framework.TestCase;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.util.Assert;
import com.cn.objInstance.Students;
import com.cn.service.StudentsServices;
/*
*
*/
public class TestStudentsService extends TestCase {
public void testSaveStudents(){
ApplicationContext stx=new ClassPathXmlApplicationContext("FrameworkContext2.xml");
Students stu= (Students)stx.getBean("students");
stu.setName("找工作");
stu.setAge(23);
stu.setSid("2014-01");
StudentsServices sve=(StudentsServices)stx.getBean("service");
//Assert..assertEquals(true,sve.saveStudents(stu));
sve.saveStudents(stu);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dbSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/studentinfo" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="students" class="com.cn.objInstance.Students" />
<bean id="studentsDao" class="com.cn.objImplement.StudentsDaoImplements" >
<property name="dataSource" >
<ref bean="dbSource" />
</property>
</bean>
<bean id="service" class="com.cn.service.StudentsServices">
<property name="stuDao" >
<ref bean="studentsDao" />
</property>
</bean>
</beans>1.9 运行函数testSaveStudents(), 函数执行。
2.0 虽然是个小应用,但是接下来我将会安装SVN进行,对他进行改版,毕竟这个东西很水,比如数据库的事务机制,再比如数据库的复杂操作,都需要完善,希望大家给我好的建议。
下载VisualSVN安装,指定代码仓库的名称,创建一个项目,这里我也是不太懂,先这样做,做的不对的希望大家指出来修改交流:
2.1 下载TortoiseSVN,默认安装乌龟,安装完后会自动加载到右键单击属性中。
上一步,我们创建了一个项目,以及给项目指定了一个可以编辑的用户。现在,我们将其检出到本地( 姑且这么叫吧 )。
2.1.0 检出结果如下:
2.1.1 下面将之前创建的students都放置到该目录branches下,上传至版本库,这里我们先放这里,因为我也不知道怎么定义,到底要做一个什么东西。右键单击TortoiseSVN中Add,然后单击commit提交。这时候你会看到版本库中已经有自己的项目信息了:
我个人比较喜欢英语,如果有特别喜欢汉语的,可以下载TortoiseSVN语言安装。
我也是先手,有很多不明白,希望大家帮助我快速提高自己。
标签:spring
原文地址:http://blog.csdn.net/whynottrythis/article/details/39189769