要想学习spring,首先,则先要搭建起一个spring例子,然后跑起来,明白spring到底是什么,干什么用的,为什么要用spring等。首先,利用spring的IoC特性一步一步搭建起一个例子来:
一.在eclipse中,新建一java或web工程 ,引入如下几个jar包:
* SPRING_HOME/dist/spring.jar
* SPRING_HOME/lib/jakarta-commons/commons-logging.jar
* SPRING_HOME/lib/log4j/log4j-1.2.14.jar
二.编写反转测试接口以及类。(模拟在项目中使用多种数据库的情况,由于是测试类,所以代码可能比较简洁且不太规范,明白其意思即可)。
接口 IUserDao,代码如下:
package com.dao;
import com.model.User;
public interface IUserDao {
public User findUserById();
}
下面为接口IUserDao的实现子类,一个模拟从Oracle数据库中查询用户Bean,另一个模拟从MySql数据库中查询客户Bean,具体代码如下:
UserOracleDaoImple类(相关Oracle数据库的DAO)
package com.dao;
import com.model.User;
public class UserOracleDaoImple implements IUserDao {
public UserOracleDaoImple() {
}
public User findUserById() {
System.out.println("现在执行的是ORACLE数据库查询...........");
return null;
}
}
UserMySqlDaoImple类(相关MySql数据库的DAO)
package com.dao;
import com.model.User;
public class UserMySqlDaoImple implements IUserDao {
public UserMySqlDaoImple() {
}
public User findUserById() {
System.out.println("现在执行的是MYSQL数据库查询...........");
return null;
}
}
UserManager类(用户操作的辅助类)
package com.manager;
import com.dao.IUserDao;
import com.model.User;
public class UserManager {
private IUserDao dao;
public User findUser() {
return dao.findUserById();
}
public IUserDao getDao() {
return dao;
}
public void setDao(IUserDao dao) {
this.dao = dao;
}
}
三.在配置文件中,对所要反转控制的Bean进行配置,大致配置信息如下:
<bean id="userDao4MySqlImpl" class="com.dao.UserMySqlDaoImple" init-method="init22" />
<bean id="userDao4OracleImpl" class="com.dao.UserOracleDaoImple"/>
<bean name="userManager" class="com.manager.UserManager">
<property name="dao" >
<ref bean="userDao4MySqlImpl"/>
</property>
</bean>
四. 编写测试类,进行测试
测试类 Test.java
/**
* @param args
* @throws IOException
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] args) throws Exception{
Resource resource = new ClassPathResource("applicationContext.xml");
//BeanFactory act = new XmlBeanFactory(resource);
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
UserManager um = (UserManager)act.getBean("userManager");
}
运行,得出结果:UserMySqlDaoImple初始化了
OK!一个简单的spring例子搭建完成,下面我们将对spring的核心技术以及特性进行详细研究和分析。
分享到:
相关推荐
通过这个入门案例,你可以逐步学习如何创建和配置切面,以及如何利用Spring AOP实现实际的需求。在实践中,你会看到如何利用AOP提升代码的可维护性和可复用性,避免了横切关注点对业务代码的侵入。同时,它也会帮助...
**Spring Security 3 系列文章——入门篇(一)** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛应用于Java企业级应用和Spring Boot项目中。本篇将作为Spring Security 3的入门介绍,帮助...
**Spring MVC 入门教程——基于登录示例** Spring MVC 是 Spring 框架的一个模块,主要用于构建 Web 应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者分离业务逻辑、数据处理和用户界面,使得代码更易于...
本文将通过一个基础的 HelloWorld 示例来引导我们入门Spring。 首先,我们需要了解Spring的核心概念——依赖注入(Dependency Injection, DI)。依赖注入是Spring框架的重要特性,它允许我们解耦组件之间的依赖关系...
在本篇【学习Spring(一)入门】的学习中,我们将探讨Spring框架的基础知识,这是一个广泛应用于Java企业级应用的开源框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...
### Spring入门学习知识点详解 #### 一、Spring框架概述 Spring 框架是一个轻量级的开源框架,主要用于简化企业级 Java 应用程序的开发。它通过提供一种简单的编程模型来解决复杂的依赖关系管理和配置问题。Spring...
本资源为新手提供了一个完整的SpringCloud入门项目,包括源码、SQL脚本和详细的开发文档,非常适合想要快速了解和学习SpringCloud的新手。 1. **SpringCloud简介** SpringCloud是基于SpringBoot构建的服务治理框架...
在这个"spring入门实例代码"中,我们将深入探讨Spring框架的基础知识和关键概念。 首先,让我们从Spring的核心特性——依赖注入开始。依赖注入是一种设计模式,它允许组件之间的依赖关系在运行时被注入,而不是在...
学习时,可以先理解每个模块的作用,然后通过编写简单的示例来实践IoC和AOP的概念,逐步深入Spring的更多高级特性,如数据访问、Web应用、事务管理等。同时,阅读官方文档和相关的教程将对掌握Spring框架大有裨益。...
在"springboot-bucket"这个压缩包中,很可能是包含了一系列的示例项目,用于演示如何在Spring Boot应用中集成并使用这些Spring Cloud组件。这些示例通常会有详细的README文件或教程,指导用户如何运行和理解代码。 ...
总之,《Spring入门书籍》是一本内容丰富的学习资料,涵盖了Spring框架的各个方面,对于想要踏入Spring世界的Java开发者来说,是不容错过的启蒙读物。通过阅读和实践书中的案例,读者不仅可以掌握Spring的基本用法,...
本资源包"Spring入门"包含了深入理解并实践Spring所需的基础资料,包括文档、视频教程和源码示例,旨在帮助初学者快速掌握Spring的核心概念和使用方法。 首先,让我们来了解一下Spring的核心功能之一——依赖注入...
在"spring快速入门教程.pdf"中,你将逐步学习如何搭建Spring环境、配置项目、编写第一个Hello World示例,以及逐步深入到更复杂的概念和实践。同时,"~看速度.exe"、"~看速度.fla"和"~看速度.swf"可能是辅助教学的...
#### 四、快速入门示例 1. **使用 Spring Initializr 初始化项目**: - **Web 界面方式**:访问 http://start.spring.io/ ,选择 Maven Project 和 Spring Boot 版本 1.5.1,以及其他相关信息后,点击 Generate ...
这个压缩包文件“Spring入门操作代码,bean”显然包含了关于如何使用Spring框架进行基本操作的示例代码,主要涉及的是Spring框架的核心概念——Bean管理。 首先,Spring的核心理念是依赖注入(Dependency Injection...
本文将深入探讨Spring的核心概念——依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IOC),并结合提供的"Spring项目IOC入门案例、Spring项目DI入门案例的代码"进行详细解析。...
标题中的"ch01-hello-spring1"表明这是一个关于Spring框架入门的教程,很可能是某个系列教程的第一章,主题是“Hello Spring”。这个压缩包可能包含代码示例、配置文件和其他教学材料,用于帮助初学者理解并实现...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
《Spring 2.0 入门教程:深度解析与实践示例》 Spring框架作为Java企业级应用开发的基石,自2.0版本发布以来,以其强大的功能和易用性深受开发者喜爱。本资料集围绕Spring 2.0,旨在为初学者提供全面而深入的入门...
本教程"JavaWeb开发教程——入门与提高篇"旨在为初学者提供一个全面的学习路径,同时也为有一定基础的开发者提供进阶知识。教程包含了PDF课件和源码,使学习者能够理论结合实践,更深入地理解JavaWeb开发的核心概念...