`
sb33060418
  • 浏览: 152294 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring4学习(一)基础配置

阅读更多
记录下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教学视频

    通过观看"Spring4.X教学视频",你不仅可以掌握Spring框架的基础知识,还能了解到实际项目中如何应用这些知识,从而提升你的开发技能。记得在观看过程中结合实际操作,理论与实践相结合,以达到最佳学习效果。

    Spring4 jar包和Spring配置文件

    Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...深入学习Spring4的jar包和配置文件,将使你更好地驾驭Java开发环境,提高软件工程能力。

    spring基础配置,运行ok

    本教程主要关注Spring的基础配置和注解使用,确保在集成SSM后能够正常运行。 首先,Spring的核心是IoC(Inversion of Control,控制反转),它通过容器来管理对象及其依赖关系。IoC容器负责创建对象、装配对象以及...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    详尽的Spring2.0学习提纲

    本学习提纲旨在为初学者提供一份详尽的Spring 2.0学习指南,帮助他们系统地掌握这个框架的核心概念和技术。 一、Spring概述 1. Spring框架介绍:理解Spring的起源,目标及主要功能,包括简化Java EE开发、提供容器...

    Spring4 HelloWorld

    Spring框架是Java开发中广泛使用的轻量级框架,它以其依赖...学习和理解"Spring4 HelloWorld",不仅能够帮助初学者掌握Spring的基本用法,也为进一步深入学习Spring的其他高级特性,如AOP、MVC、JPA等打下坚实基础。

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    springsecurity学习笔记

    4. **Filter Chain**:Spring Security通过一系列过滤器形成一个过滤链,每个过滤器都有特定的任务,如BasicAuthenticationFilter处理基本认证,RememberMeAuthenticationFilter处理记住我功能等。 5. **Session ...

    spring第一个学习得例子

    4. Spring Boot:为了简化Spring应用的起步,你可能还会了解到Spring Boot,它预配置了很多默认设置,让创建独立的、生产级别的应用变得简单。 通过实践这个例子,你不仅会理解Spring的基本用法,还能掌握如何在...

    spring4+mybatis3+springmvc4实战

    这个项目涵盖了从基础配置到高级特性的全方位应用,对于初学者来说是一个极好的学习资源。 Spring框架是Java开发中的核心组件,它提供了依赖注入(DI)和面向切面编程(AOP)等关键特性。Spring4在Spring3的基础上...

    spring学习资料大全

    以下是对"Spring学习资料大全"的详细解析: 1. **Spring框架基础**: - **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,它允许开发者在运行时通过XML配置或注解方式来管理对象间的依赖关系,...

    马士兵老师spring框架学习笔记

    马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...

    spring 学习

    Spring是一个全面的编程和配置模型,为现代基于Java的企业应用提供了基础架构支持。Spring的核心是依赖注入(DI)和面向切面编程(AOP),从而降低业务对象替换的复杂性,促进了松耦合。 ### Spring的核心特性: 1...

    Spring的基本配置

    不过,理解XML配置对于学习Spring的基础概念仍然十分必要。 1. XML配置 XML配置文件通常命名为`applicationContext.xml`,它是Spring容器的配置中心,定义了Bean的创建、初始化、装配以及它们之间的关系。一个基本...

    Spring3.3学习案例

    本篇文章将围绕“Spring 3.3学习案例”这一主题,深入探讨SpringMVC与Mybatis的集成,旨在帮助读者掌握这两个组件的核心概念和实践技巧。 一、SpringMVC简介 SpringMVC是Spring框架的一个模块,专门用于构建Web应用...

    java-spring基础学习资源一

    这个"java-spring基础学习资源一"的压缩包包含了一个名为"spring-learning-master"的项目,很显然,这是一个用于学习Spring框架基础知识的教程或者示例集合。下面将详细探讨Spring框架的基础知识,以及如何利用这些...

    spring4+hibernate4整合例子

    文件名称"Spring4Test"可能代表了一个测试类,用于验证Spring4和Hibernate4的整合是否成功。 总结来说,这个"spring4+hibernate4整合例子"涵盖了以下几个关键点: 1. Spring4的依赖注入和面向切面编程 2. Hibernate...

    SpringCloud学习第一天,helloWorld

    在本篇【SpringCloud学习第一天,helloWorld】的教程中,我们将初步接触并了解Spring Cloud这一微服务框架,以及如何创建一个基本的“Hello, World”应用。首先,我们需要理解Spring Cloud的核心概念和作用。 ...

    springcloud视频学习7

    在IT行业中,Spring Cloud是一个广泛使用的微服务框架,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中快速...

    Spring项目bean基础配置代码

    本文将深入探讨Spring项目中的Bean基础配置、别名配置以及作用范围配置。 首先,我们来理解Bean的基础配置。在Spring中,一个Bean的定义通常包含以下几个关键属性: 1. `id`:这是Bean的唯一标识符,用于在配置...

Global site tag (gtag.js) - Google Analytics