spring 学习总结
前几天,一直在学spring,然后又学习spring mvc ,再回过头去看spring,本来不是特别熟悉,竟然几乎全部忘记了。于是,立刻写这篇博客来总结一下。这是我写的其中一个程序,大概的逻辑流程。
注意:导入
前两个jar包
1.这个是项目的总体结构。

2.web.xml 配置文件
是自动生成的,没有改,这里主要使用junit4 进行测试了,没有涉及到页面的交互。
3.springmvc-servlet.xml配置文件
<!-- xsl -->
<!--xml能引入多个 dtd (之前) xsd 一般称为scheme 一般称为 定义的xml的语法 元数据文件 -->
<!-- <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.xsd"> --> <!-- <bean id="u" class="com.dao.impl.UserDAOImpl"> --> <bean id="userDAO" class="com.dao.impl.UserDAOImpl">
<!-- <property name="daoId"></property> -->
<!-- <property name="daoStatus" value="good"></property> -->
<property name="daoId" value="1"></property> //userdaoImple实现了userdao的接口,在里面有个daoId属性,spring 框架做的事情,就是把在这里赋的值
传到类里。用下面的方法赋给了类。
public void setDaoId(int daoId) {
this.daoId = daoId;
}
此为userdaoimple 里的set,get方法
</bean> <bean id="userDAO1" class="com.dao.impl.UserDAOImpl">
<property name="daoId" value="2"></property>
</bean> <bean id="userService" class="com.service.UserService"> </bean>
3.此为userdaoimple方法(省略set,get方法)
public class UserDAOImpl implements UserDAO{
private int daoId;
private String daoStatus;
private Set<String> sets;
private List<String> lists;
private Map<String,String> maps;
4.此为user类方法
public class User {
private String username;
private String password;
public
5.此为userdao接口方法
public interface UserDAO {
public void save(User u);
}
6.此为service类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import com.dao.UserDAO;
import com.model.User; //功能 存入数据库之前 业务逻辑 认证
public class UserService { private UserDAO userDAO;
/*public UserService(UserDAO userDAO){
super();
this.userDAO=userDAO;
}*/
//private UserDAO userDAO =new UserDAOImpl(); //在实现中可以写多个 oracle、mysql, 用哪个new 谁 面向抽象编程 public void init(){
System.out.println("init");
} public UserDAO getUserDAO() {
return userDAO;
} @Autowired //必须有参数为空的构造方法
//autowire="by type"
public void setUserDAO(@Qualifier("userDAO")UserDAO userDAO) {
this.userDAO = userDAO;
}
//@Qualifier 可以指定到底哪个bean public void add(User user){
userDAO.save(user);
} public void destroy(){
System.out.println("destroy");
}
7.junit test包
新建一个包test,然后在service包下选择userService类,右击新建junit test cast 文件

import static org.junit.Assert.*; import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.model.User; public class UserServiceTest { @Test
public void test() {
fail("Not yet implemented");
} public void testAdd() {
ApplicationContext ctx =new ClassPathXmlApplicationContext("springmvc-servlet.xml"); //此处规定了,映射了springmvc-servlet.xml 文件
//UserDAO u1=(UserDAO)ctx.getBean("userDAO"); // System.out.println(u1);
/* UserService service =(UserService)ctx .getBean("userService");
UserService service2 =(UserService)ctx .getBean("userService");
*/
//System.out.println(service==service2);
//UserService service =new UserService();
/* User u=new User();
u.setUsername("zhang");
u.setPassword("zhang");
service.add(u);*/ UserService service =(UserService)ctx.getBean("userService");
service.add(new User()); //服务里new 一个user() 对象。 印象中spring 框架,它把new 对象这个事情 做了,不知道理解的对不对
System.out.println(service.getUserDAO()); }
spring 学习总结的更多相关文章
- spring 学习之 bean 的注入方式 property和constructor-arg的使用方式
spring 学习之 bean 的注入方式 property和constructor-arg的使用方式. bean的注入方式: property 注入是: 通过setxx方法注入. construct ...
- Spring学习之AOP总结帖
AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组 ...
- Spring学习之第一个AOP程序
IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对 ...
- MyEclipse Spring 学习总结三 SpringMVC
MyEclipse Spring 学习总结三 SpringMVC 一.SpringMVC原理 1.Springmvc 框架介绍 1)Spring 框架停工了构建Web应用程序的全功能MVC模块.Spr ...
- Spring学习 Ioc篇(一 )
一直以来忙于项目的开发,Spring虽然不用,一直想系统地学习一下,想看看它的源码,都没有时间,这段时间比较充裕,就索性先把Spring学习下,熟悉各个功能再去探究它内部的实现.就从Ioc篇开始学习. ...
- Spring学习(三)——Spring中的依赖注入的方式
[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ...
- Spring学习(二)——Spring中的AOP的初步理解[转]
[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ...
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- Spring学习8-Spring事务管理
http://blog.sina.com.cn/s/blog_7ffb8dd501014e0f.html Spring学习8-Spring事务管理(注解式声明事务管理) 标签: spring注 ...
- Spring学习之Ioc控制反转(1)
开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...
随机推荐
- poj 3060 Visible Lattice Points
http://poj.org/problem?id=3090 Visible Lattice Points Time Limit: 1000MS Memory Limit: 65536K Tota ...
- centos 安装redis php
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz $ tar xzf redis-3.0.7.tar.gz $ cd redis- ...
- [转]Android在初始化时弹出popwindow的方法 .
转自:http://blog.csdn.net/sxsboat/article/details/7340759 留个人备用0.0 Android中在onCreate()时弹出popwindow,很多人 ...
- HDU1150Machine Schedule(二分图最大匹配的DFS解法)
题目大意就是说有两台机器,分别有n,m种模式可以调节,有k个工作,某一个工作i可以在第一台机器的a[i]模式下或第二台机器的b[i]模式下工作,两台机器的初始模式为0,问如何分配这K件工作使得两台机器 ...
- POJ 2386 Lake Counting (水题,DFS)
题意:给定一个n*m的矩阵,让你判断有多少个连通块. 析:用DFS搜一下即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...
- 我对CONTAINING_RECORD宏的详细解释
宏CONTAINING_RECORD的用处其实还是相当大的, 而且很是方便, 它的主要作用是: 根据结构体中的某成员的指针来推算出该结构体的指针! 下面从一个简单的例子开始说起: 我们定义一个结构体, ...
- 【tcl脚本】改变输出字符格式
需求: 原list输出格式 0x00 0x50 0x01 0x03 0x04 0x02 0x21 0x57 0x01 0x00 0x05 0x0B 0x03 0x13 0x00 0x01 要求list ...
- 【转】Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布 ...
- OpenStack tokens id获取测试
- 通过css代码使边框变圆角(ie9以下浏览器不支持)
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-02-11) CSS代码: <style> #myDiv { border-radius: 4px; /*这句就是 ...