(一)Spring入门

(一)Spring入门案例

    Spring的核心思想是IoC和DI。

    什么是IoC?IoC是Inverse of Control,即控制反转。说白了,就是以前我们要得到类的对象是通过new 构造函数来得到,而现在使用Spring容器来获得对象,通过Spring工厂来创建实例。

    什么是DI?DI是依赖注入,也就是,类里的属性,可以通过注入的方式设置值,注入就是设置值。依赖注入必须在IoC环境下才可以使用。

我们通过一个简单的案例,进入Spring入门的学习。

步骤:

1.创建项目(可以是java也可以是java web)

为了引包方便,我们创建一个叫ch02的项目。最后完成后的项目结构如下所示:

2.引入jar包

(1)spring的开发至少包括spring容器中的4个jar包:

(2)spring需要记录日志,所以需要引入第三方依赖包:

3.编写接口和类

    一般我们会基于接口进行开发,下面我们以UserDao接口和实现类UserDaoImpl为例来演示)

(1)UserDao接口的代码如下:

 

package com.zdxh.dao;

public interface UserDao {
	public void addUser();
}

(2)UserDaoImpl类的代码如下:

package com.zdxh.dao.impl;

import com.zdxh.dao.UserDao;

public class UserDaoImpl implements UserDao {
	private String name;
	@Override
	public void addUser() {
		System.out.println("userDao....add...."+name);
	}
}

4.创建Spring的配置文件,配置UserDaoImpl的bean,并且注入name属性值。

<?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">
	<!-- id是确定了bean的唯一性,不能使用特殊字符,class是bean对应的类 -->
	<bean id="userDao" class="com.zdxh.dao.impl.UserDaoImpl">
		<!-- property配置属性值, name是UserDaoImpl中的属性名,value是普通属性值,
			如果是对象,则是使用ref-->
		<property name="name" value="李冠希"/>
	</bean>
</beans>

5. 编写测试类和测试方法,我们使用junit4或者junit5来测试

package com.zdxh.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zdxh.dao.UserDao;
public class UserDaoTest {
	private ApplicationContext ac = new ClassPathXmlApplicationContext("com/zdxh/dao/bean1.xml");
	
	@Test
	public void addUserTest() {
		UserDao userDao = (UserDao) ac.getBean("userDao");
		userDao.addUser();
	}
}

6.运行测试方法,结果如下:

总结:上面以一个简单的入门案例为例,让大家先了解使用spring 框架进行开发的步骤。

后面还会有一些文章介绍Spring的注入类型,Spring的AOP,基于aspectj的AOP的开发等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值