记录下Spring4的基础用法。
环境:Myeclipse10.6+jdk7
库:spring4.1.6
1.创建项目
在Myeclipse中配置Maven相关属性,创建基于Maven的java工程testSpring。
2.添加依赖库
在pom.xml中添加spring依赖。
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
3.定义接口
spring的基本调用方法是在启动程序中加载配置并创建ApplicationContext,通过ApplicationContext获取Service Bean和Dao Bean并注入,再调用Bean中的业务方法。
目录结构如下:
src
--main
----java
------com.sunbin.test.testSpring
--------main
----------测试运行类
--------service
----------service接口类
----------impl
------------service实现类
--------dao
----------dao接口类
----------impl
------------dao实现类
----resources
------spring配置文件
定义service接口TestService。
package com.sunbin.test.testSpring.service;
public interface TestService {
public String test(String string);
}
定义dao接口TestDao。
package com.sunbin.test.testSpring.dao;
public interface TestDao {
public String test(String string);
}
4.实现接口
简单实现service接口。
package com.sunbin.test.testSpring.service.impl;
import com.sunbin.test.testSpring.dao.TestDao;
import com.sunbin.test.testSpring.service.TestService;
public class TestServiceImpl implements TestService {
private TestDao testDao;
public String test(String string) {
// TODO Auto-generated method stub
return "testServiceImpl.test:"+testDao.test(string);
}
public TestDao getTestDao() {
return testDao;
}
public void setTestDao(TestDao testDao) {
this.testDao = testDao;
}
}
实现dao接口。
package com.sunbin.test.testSpring.dao.impl;
import com.sunbin.test.testSpring.dao.TestDao;
public class TestDaoImpl implements TestDao {
@Override
public String test(String string) {
// TODO Auto-generated method stub
return "testDaoImpl.test:"+string;
}
}
5.spring配置
在src/main/resources下创建配置文件root-context.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
default-autowire="byName" default-lazy-init="true">
<import resource="services.xml"/>
<import resource="daos.xml"/>
</beans>
配置中载入其他配置文件。
services.xml中定义service层Bean:
<?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.xsd"
default-autowire="byName" default-lazy-init="true">
<!-- services -->
<bean id="testService" class="com.sunbin.test.testSpring.service.impl.TestServiceImpl">
</bean>
</beans>
dao.xml中定义dao层Bean:
<?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.xsd"
default-autowire="byName" default-lazy-init="true">
<!-- daos -->
<bean id="testDao" class="com.sunbin.test.testSpring.dao.impl.TestDaoImpl">
</bean>
</beans>
通过设置default-autowire="byName",spring会自动查找名为testDao的Bean(dao.xml中定义),并通过TestServiceImpl类的setter方法注入testService Bean。
6.测试
创建测试类Test。
package com.sunbin.test.testSpring.main;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.sunbin.test.testSpring.service.TestService;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] { "root-context.xml" });
TestService testService =(TestService) applicationContext.getBean("testService");
System.out.println(testService.test("helloWorld"));
}
}
测试类中加载spring配置、创建ApplicationContext、获取Service Bean(Dao Bean被注入)。
运行结果如下:
- testServiceImpl.test:testDaoImpl.test:helloWorld
说明Test、Service、Dao各层创建、注入、调用成功。
分享到:
相关推荐
通过观看"Spring4.X教学视频",你不仅可以掌握Spring框架的基础知识,还能了解到实际项目中如何应用这些知识,从而提升你的开发技能。记得在观看过程中结合实际操作,理论与实践相结合,以达到最佳学习效果。
Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...深入学习Spring4的jar包和配置文件,将使你更好地驾驭Java开发环境,提高软件工程能力。
本教程主要关注Spring的基础配置和注解使用,确保在集成SSM后能够正常运行。 首先,Spring的核心是IoC(Inversion of Control,控制反转),它通过容器来管理对象及其依赖关系。IoC容器负责创建对象、装配对象以及...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
本学习提纲旨在为初学者提供一份详尽的Spring 2.0学习指南,帮助他们系统地掌握这个框架的核心概念和技术。 一、Spring概述 1. Spring框架介绍:理解Spring的起源,目标及主要功能,包括简化Java EE开发、提供容器...
Spring框架是Java开发中广泛使用的轻量级框架,它以其依赖...学习和理解"Spring4 HelloWorld",不仅能够帮助初学者掌握Spring的基本用法,也为进一步深入学习Spring的其他高级特性,如AOP、MVC、JPA等打下坚实基础。
这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...
4. **Filter Chain**:Spring Security通过一系列过滤器形成一个过滤链,每个过滤器都有特定的任务,如BasicAuthenticationFilter处理基本认证,RememberMeAuthenticationFilter处理记住我功能等。 5. **Session ...
4. Spring Boot:为了简化Spring应用的起步,你可能还会了解到Spring Boot,它预配置了很多默认设置,让创建独立的、生产级别的应用变得简单。 通过实践这个例子,你不仅会理解Spring的基本用法,还能掌握如何在...
这个项目涵盖了从基础配置到高级特性的全方位应用,对于初学者来说是一个极好的学习资源。 Spring框架是Java开发中的核心组件,它提供了依赖注入(DI)和面向切面编程(AOP)等关键特性。Spring4在Spring3的基础上...
以下是对"Spring学习资料大全"的详细解析: 1. **Spring框架基础**: - **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,它允许开发者在运行时通过XML配置或注解方式来管理对象间的依赖关系,...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
Spring是一个全面的编程和配置模型,为现代基于Java的企业应用提供了基础架构支持。Spring的核心是依赖注入(DI)和面向切面编程(AOP),从而降低业务对象替换的复杂性,促进了松耦合。 ### Spring的核心特性: 1...
不过,理解XML配置对于学习Spring的基础概念仍然十分必要。 1. XML配置 XML配置文件通常命名为`applicationContext.xml`,它是Spring容器的配置中心,定义了Bean的创建、初始化、装配以及它们之间的关系。一个基本...
本篇文章将围绕“Spring 3.3学习案例”这一主题,深入探讨SpringMVC与Mybatis的集成,旨在帮助读者掌握这两个组件的核心概念和实践技巧。 一、SpringMVC简介 SpringMVC是Spring框架的一个模块,专门用于构建Web应用...
这个"java-spring基础学习资源一"的压缩包包含了一个名为"spring-learning-master"的项目,很显然,这是一个用于学习Spring框架基础知识的教程或者示例集合。下面将详细探讨Spring框架的基础知识,以及如何利用这些...
文件名称"Spring4Test"可能代表了一个测试类,用于验证Spring4和Hibernate4的整合是否成功。 总结来说,这个"spring4+hibernate4整合例子"涵盖了以下几个关键点: 1. Spring4的依赖注入和面向切面编程 2. Hibernate...
在本篇【SpringCloud学习第一天,helloWorld】的教程中,我们将初步接触并了解Spring Cloud这一微服务框架,以及如何创建一个基本的“Hello, World”应用。首先,我们需要理解Spring Cloud的核心概念和作用。 ...
在IT行业中,Spring Cloud是一个广泛使用的微服务框架,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中快速...
本文将深入探讨Spring项目中的Bean基础配置、别名配置以及作用范围配置。 首先,我们来理解Bean的基础配置。在Spring中,一个Bean的定义通常包含以下几个关键属性: 1. `id`:这是Bean的唯一标识符,用于在配置...