这几天初学spring,整理了一下,这里是入门和新建项目,通过小项目,才能小小掌握spring的原理和方法,更重要的是去解读一下这种思想bean.xml#(model->DAL->DAO.impl->Service)的思想
根据模型生成数据访问对象接口,再根据接口生成具体实现,然后再将处理业务类封装在service里面,接着生成xml来声明service和dao.impl的bean,最后通过spring的bean容器来进行依赖注入。
1.new一个web project,new下图那些包和类。
![](http://dl.iteye.com/upload/attachment/0071/2315/17b35b56-d38c-3f4c-a70b-49767ae3166b.png)
2.User是用户模型类,UserDAO是用户的数据访问对象类,UserDapImpl是用户的数据访问对象具体实现类,UserService是用户的业务处理类。Bean.xml是spring的容器配置文件(默认读取的是applicationContext.xml,但这里我们做一下特殊,方便学习),test是测试目录,包含UserServiceTest测试文件(new个junit test case)。
3.类库包含jdk、spring.jar、commons-logging.jar、junit.jar(这个点add libraries添加类库,的时候可以看到)
*.这里顺便解决了一个自己长久以来的小困惑,就是spring/hibernate/struts官方并没有提供spring.jar/hibernate.jar/struts.jar这种集成的jar包,这些都是民间(大部分情况是培训机构一些老师)自己根据需要集成的,如果从官方下载的话是有很多包的,自己根据需要添加即可。
![](http://dl.iteye.com/upload/attachment/0071/2318/5052e02e-7f45-3472-b68c-612bffbb4dfc.png)
![](http://dl.iteye.com/upload/attachment/0071/2320/55f4b0f1-3707-307b-802d-b0c1995242d7.png)
--------------------------------------------------------------------------------------------------------------------
public class User {
private String username;
private String password;
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 interface UserDAO {
public void save(User user);
}
--------------------------------------------------------------------------------------------------------------------
public class UserDAOImpl implements UserDAO {
public void save(User user) {
//如果实现的方法因数据库或环境不同,只需要修改这里
System.out.println("user saved!");
}
}
--------------------------------------------------------------------------------------------------------------------
public class UserService {
private UserDAO userDAO;
public void add(User user) {
userDAO.save(user);
}
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public UserService(UserDAO userDAO) {
super();
this.userDAO = userDAO;
}
}
--------------------------------------------------------------------------------------------------------------------
<?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.5.xsd">
<!--上面是大豆s的说明,下面是每颗小豆的声明,userService(ref)参考自u的bean 。
然后bean的命名除了可以设置id还可以设置name,不过常用的还是ID,规范一点就好,用那么则可以使用特殊字符,但是没必要。-->
<bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean>
<bean id="userService" class="com.bjsxt.service.UserService">
<constructor-arg>
<ref bean="u"/>
</constructor-arg>
</bean>
</beans>
--------------------------------------------------------------------------------------------------------------------
public class UserServiceTest {
@Test
public void testAdd() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
UserService service = (UserService)ctx.getBean("userService");
User u = new User();
u.setUsername("zhangsan");
u.setPassword("zhangsan");
service.add(u);
}
}
--------------------------------------------------------------------------------------------------------------------
![](http://dl.iteye.com/upload/attachment/0071/2322/0cbb1fe0-bd71-3fce-a589-763698556f2e.png)
运行结果,完美!
![](http://dl.iteye.com/upload/attachment/0071/2324/949cb8fc-f8d1-3f88-8b39-9f51910e296a.png)
- -不过重要的是解读一下spring的思想,知道为什么。
⊙_⊙附件包括运行项目源码和用到的jar包(JDK自带和JUNIT在eclipse有)附上吧,免得大家到处找。
^_^还有什么好方法或者疑问和意见欢迎大家提出来一起讨论!
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0071/2315/17b35b56-d38c-3f4c-a70b-49767ae3166b-thumb.png)
- 大小: 13.3 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0071/2318/5052e02e-7f45-3472-b68c-612bffbb4dfc-thumb.png)
- 大小: 14.9 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0071/2320/55f4b0f1-3707-307b-802d-b0c1995242d7-thumb.png)
- 大小: 15.2 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0071/2322/0cbb1fe0-bd71-3fce-a589-763698556f2e-thumb.png)
- 大小: 18.8 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0071/2324/949cb8fc-f8d1-3f88-8b39-9f51910e296a-thumb.png)
- 大小: 49.9 KB
分享到:
相关推荐
本教程针对初学者,旨在帮助他们快速掌握Spring框架的基础知识和核心概念。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。依赖注入使得组件...
《Spring入门代码项目详解》 在IT行业中,Spring框架无疑是最受欢迎的Java企业级应用开发框架之一。本项目旨在帮助初学者快速入门Spring,通过实际的代码操作来理解和掌握Spring的核心概念与用法。以下是对每个子...
《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的教程,旨在帮助初学者快速掌握Spring,并进一步提升有经验的开发者对Spring的理解。在Java企业级开发中,Spring框架以其灵活、强大的功能和易用性,...
本书由浅入深,循序渐进地介绍了Spring的体系结构和相关知识点,目的是帮助初学者快速掌握Spring,并能使用Spring进行应用程序的开发。本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本...
本资源为新手提供了一个完整的SpringCloud入门项目,包括源码、SQL脚本和详细的开发文档,非常适合想要快速了解和学习SpringCloud的新手。 1. **SpringCloud简介** SpringCloud是基于SpringBoot构建的服务治理框架...
本项目是一个入门级别的实例,旨在帮助初学者理解和实践这三种技术的集成。 首先,我们来详细了解一下Spring框架。Spring是一个开源的Java平台,它为开发企业级应用提供了全面的框架支持。Spring的核心特性可以促进...
《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的指南,旨在帮助读者从零基础开始,逐步掌握Spring的使用和应用开发。Spring作为Java企业级应用开发的主流框架,其强大的功能和灵活性使其在众多框架...
《Spring快速入门教程.pdf》是为初学者设计的,它可能会包含如何搭建Spring开发环境、创建第一个Spring项目、配置ApplicationContext、以及编写简单的Bean定义等内容。教程可能会通过实例演示如何使用Spring MVC构建...
在Spring入门阶段,首先要理解的是依赖注入(DI)。DI是一种设计模式,它允许我们解耦组件,让它们之间通过接口而非具体的实现进行交互。Spring通过容器管理对象的生命周期和依赖关系,我们只需要配置好bean的定义,...
### Spring 快速入门知识点详解 #### Spring框架简介与优势 Spring框架是一个开源的轻量级...对于初学者而言,《Spring快速入门》不仅是一份详尽的指南,更是一个实践的起点,引领他们踏入Java企业级应用开发的大门。
对于初学者而言,了解Spring的基本概念和配置是非常重要的。 首先,我们需要创建一个新的Maven Web项目。在IDEA中,选择“New Project”,然后在项目类型中选择“Maven”。在“Project SDK”中选择你的Java版本,...
本入门学习demo旨在帮助初学者快速上手SpringCloud,体验其核心功能,并通过实际运行了解其工作原理。 1. **Spring Cloud Config**:这是SpringCloud的一个关键组件,用于实现分布式系统的配置管理。它支持配置...
1. **Spring入门**: - Spring的核心概念始于IoC(Inversion of Control,控制反转),它是通过容器管理对象及其依赖关系,而不是由对象自己管理。这降低了代码的耦合度,提高了可测试性。 - 依赖注入(DI)是IoC...
本项目旨在为初学者提供一个基础的入门指南,帮助理解并掌握这三个框架的集成与使用,实现CRUD(Create、Read、Update、Delete)操作。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的开源Web应用...
这本书籍“一本很不错的关于spring入门的书籍”显然是针对初学者设计的,旨在帮助新手快速掌握Spring的基本概念和核心功能。 Spring框架的核心特性包括: 1. **依赖注入(Dependency Injection,简称DI)**:这是...
本教程“Spring绝佳入门教程.pdf”旨在为初学者提供一个全面且深入的Spring框架学习路径,帮助他们快速掌握Spring的核心概念和实践技巧。 1. **Spring概述** Spring框架是一个开源的应用程序框架,最初由Rod ...
这个项目是针对初学者设计的,旨在帮助他们快速理解和上手 Spring Cloud。 1. **Spring Boot**: Spring Boot 是一个用于简化 Spring 应用程序初始搭建以及开发过程的框架。它预设了各种默认配置,使得开发者可以...
《Eclipse_Spring_入门书籍》是一本专为初学者设计的指南,旨在帮助读者快速掌握如何在Eclipse环境中开发Spring应用。这本书深入浅出地介绍了Spring框架的基础知识,以及如何利用Eclipse作为开发工具来优化Spring...
在本项目"Spring项目初学(二)"中,我们主要关注的是Spring框架的基本使用,特别是关于类的继承和项目的构建路径。这是一个针对初学者设计的教程,旨在帮助他们理解和应用Spring框架的基础知识。让我们逐步解析这个...
**Spring Boot 入门与实战** Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在...通过上述知识点,Spring Boot 初学者可以从基础到实践逐步掌握Spring Boot 的核心概念和技术,从而在实际项目中灵活运用。