Spring初学者(1)

为了将来换一个好工作,学习点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;
	}

}

1.4 学生的抽象接口类介绍:

package com.cn.objInterface;

import com.cn.objInstance.Students;

public interface StudentsDAO {

	/*
	 *
	 */
	public boolean saveStudent(Students stu);

}

1.5学生的抽象接口实现类

这个类主要用于实现保存学生信息的操作。原来的例子是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);
	}
}

1.8 上述生成了一个学生对象,然后调用服务层类,对学生信息进行保存。下面来写一下配置文件,配置文件我是摘录网上的现成例子。

<?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>

创建了一个数据对象dbSource,然后赋值给studentsDao的属性。

1.9 运行函数testSaveStudents(), 函数执行。

2.0 虽然是个小应用,但是接下来我将会安装SVN进行,对他进行改版,毕竟这个东西很水,比如数据库的事务机制,再比如数据库的复杂操作,都需要完善,希望大家给我好的建议。

下载VisualSVN安装,指定代码仓库的名称,创建一个项目,这里我也是不太懂,先这样做,做的不对的希望大家指出来修改交流:

2.1 下载TortoiseSVN,默认安装乌龟,安装完后会自动加载到右键单击属性中。

上一步,我们创建了一个项目,以及给项目指定了一个可以编辑的用户。现在,我们将其检出到本地( 姑且这么叫吧 )。

2.1.0 检出结果如下:

2.1.1 下面将之前创建的students都放置到该目录branches下,上传至版本库,这里我们先放这里,因为我也不知道怎么定义,到底要做一个什么东西。右键单击TortoiseSVN中Add,然后单击commit提交。这时候你会看到版本库中已经有自己的项目信息了:

我个人比较喜欢英语,如果有特别喜欢汉语的,可以下载TortoiseSVN语言安装。

我也是先手,有很多不明白,希望大家帮助我快速提高自己。

时间: 2024-10-13 12:55:44

Spring初学者(1)的相关文章

我们一起学习Spring之Spring简介(一)

首先声明,我是一个spring初学者,写这篇blog的目的是为了能和大家交流.文中不当之处还望大佬指出,不胜感激! 好了,现在我们开始进入正题. 很多小伙伴在学习Java的时候都会有人建议你去学习Spring,那么什么是Spring呢?SPring是由Rod Johnson创建的一款开源的轻量级Java框架.Spring的诞生之初是为了解决企业级Java开发的复杂性,使得我们通过简单的javaBean能够实现以前只有使用EJB(Enterprise JavaBean)才能完成的一些事情.但是Sp

Spring入门编程问题集锦Top10

我写的一篇文章,希望对spring初学者有所帮助: 1.如何学习Spring? 你可以通过下列途径学习spring: ①. spring下载包中doc目录下的MVC-step-by-step和sample目录下的例子都是比较好的spring开发的例子. ②. AppFuse集成了目前最流行的几个开源轻量级框架或者工具 Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,Canoo's WebTest,Struts Me

微服务SpringCloud之服务注册与发现

在找.net core 微服务框架时发现了Steeltoe开源项目,它可以基于Spring Cloud实现.net core和.net  Framework的微服务.正好之前也有学习过SpringBoot,而Spring Cloud是基于SpringBoot的,有了SpringBoot基础上手入门SpringCloud应该也不难,正好我的第一本书<<Spring快速入门>>即将上架,感兴趣的朋友可以多多支持.本篇主要学习服务注册与发现组件Eureka. 在学习之前首先聊一聊为什么会

致Spring Boot初学者

1.引言 ????    Spring Boot是近两年来火的一塌糊涂,来这里的每一位同学,之前应该大致上学习了web项目开发方面的知识,正在努力成长过程中.因为最近有不少人来向我"请教",他们大都是一些刚入门的新手,对Spring Boot知识体系还不太了解,一方面听别人说Spring Boot配置简单.开发简单.部署简单,另一方面自己着手开始学习时,却发现头绪好多.有点迷茫,实在是每天回复很多人很麻烦,车轱辘话重复多遍自己也觉得有点无聊,所以在这里统一做个回复吧.        回

适合初学者的一个分布式环境搭建过程(spring boot + zookeeper + dubbo + mybatis + mysql)

本人也是才开始接触 阿里巴巴的开源分布式框架 dubbo,因为现在微服务框架 spring boot也非常的火,然后结合dubbo的官网搭建这个开发环境. 一.首先 zookeeper作为集群管理服务器,安装和配置在这里就不说了 划分为 4个项目 项目目录如下: 4个项目的依赖关系是:common里面暂时存放的只有user一个实体类,后面陆续会加上其他的公共类,分页,验证等,这个项目不依赖其他的项目,其他3个项目都需要依赖它,所有这个项目需要先打包(相信做个maven项目的人应该都会-----如

初学者对Spring MVC的认识

首先是要一定说明的是,这倒是说明是什么?对吧Spring MVC 是SpringFrameWork的后续产品,并且已经融入到Spring Web Flow中同时Spring MVC 分离了控制器,模型对象,分派器(其实我不知道这是什么)以及处理程序对象的角色,这种分离让它们更容易进行定制. 说了这些很官方的话,我都有点晕了,呵呵,先上一个原理流程图吧,相信会比较直观! Spring MVC 原理图 Spring MVC 对应原理流程步骤: 1.Web客户端 --> DispatcherServl

为初学者提供一个基本Struts+Spring+Mybatis框架的搭建(主要实现登录注册):配置struts+spring篇

在struts基础上配置spring 1.同样的先导入spring的包(标志spring的包和用于spring和struts整合的包)如下: 另外,要把struts和spring结合起来还需要这个jar包:      这些包都可以从官网上下载的struts和spring的包中找到2. 2.导入jar包后要配置文件,让struts和spring真正的融合起来,也让系统真正知道spring的存在.为此,我们要配置两个三个文件: Spring 本身的配置文件applicationContext.xml

spring boot简单的小demo(适合于初学者)

import com.example.demo2.com.example.dao.ShopDao; import com.example.demo2.com.example.entity.Shops; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframew

Spring boot application.properties和 application.yml 初学者的学习

来自于java尚硅谷教程 简单的说这两个配置文件更改配置都可以更改默认设置的值比如服务器端口号之类的,只需再文件中设置即可, properties可能是出现的比较早了,如果你不调你的默认编码,中文可能乱码,yml则不会,至于在两个文件中写不同配置最终执行那个?我没试不得而知!总之都很好用! 说白了为了提高代码复用性是这样吧意思这个就是为了方便从配置文件中读值 例如你建立了一个bean类 别指望运行 Person.java package com.automavn.bean; import org