JavaEE——Spring框架(Spring的基本应用)

JavaEE——Spring框架(Spring的基本应用)

一、初始Spring

1.Spring概述

**

1.1 Spring的概念

**:Spring是分层的 JavaSE/EE full-stack 的轻量级开源框架,以 IOC (Inverse of Control:控制反转)和 AOP (Aspect Oriented Programming:面向切面编程)为内核,使用基本的 JavaBean 来完成之前只可能由 EJB 来完成的工作。

1.2 Spring的优点

非侵入式设计
方便解耦,简化开发
支持 AOP
支持声明式事务处理
方便程序测试
方便集成其它框架
降低 JavaEE API 的使用难度``

1.3 Spring 的体系结构

分层的框架,一系列功能分为20个模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Spring的入门程序

2.1 IoC(控制反转)

2.1.1导入jar包

4+1:4个核心(beans、core、context、expression)+1个依赖(commons-logging-…jar)

2.1.2 目标类

提供接口和实现类
获得实现类的对象
把对象实例交由spring容器创建,需要时直接从spring容器中获得

public interface UserService {
	public void addUser();
}
public class UserServiceImpl implements UserService {

	@Override
	public void addUser() {
		System.out.println("add user");
	}
}

2.1.3 配置文件

<?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-4.3.xsd"> 
	
	<!-- 
		配置service
		<bean> 配置需要创建的对象
			id bean的唯一标识,用于之后从spring容器获得实例时使用
			class 需要创建对象的全限定类名
	 -->
	 <bean id="userService" class="ee.a_ioc.UserServiceImpl"></bean>
</beans>

2.1.4 测试类

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestIoC {

	public static void main(String[] args) {
		//获得配置文件的路径
		String xmlPath = "ee/a_ioc/applicationContext.xml";
		//读取配置文件
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
		//从spring容器获得对象,不需要new
		UserService userService = (UserService) applicationContext.getBean("userService");
		userService.addUser();
	}
}

2.1.5 运行结果

add user

2.2 DI(依赖注入)
简单来说就是一个对象需要使用另一个对象,通过setter方法将一个对象赋值给另一个对象。

2.2.1 目标类

创建userDao接口和实现类
创建userService接口和实现类

public interface UserDao {
	public void addUser();
}
public class UserDaoImpl implements UserDao {

	@Override
	public void addUser() {
		System.out.println("add userDao");
	}
}
public interface UserService {
	public void addUser();
}
public class UserServiceImpl implements UserService {
	
	private UserDao userDao;
	//通过setter方法获得UserDao对象
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	@Override
	public void addUser() {
		this.userDao.addUser();
		System.out.println("add userService");
	}
}

2.2.2 配置文件

<?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-4.3.xsd"> 
	
	<!-- 创建userDao实例 -->
	<bean id="userDao" class="ee.b_di.UserDaoImpl"></bean>
	<!-- 
	模拟spring的执行过程
		创建service UserService userService = new UserServiceImpl();
		创建dao UserDao userDao = new UserDaoImpl();
		将dao设置给service userService.setUserDao(userDao);
		<property> 
			name bean的属性名
			ref 另一个bean的id引用
	 -->
	 <bean id="userService" class="ee.b_di.UserServiceImpl">
	 	<property name="userDao" ref="userDao"></property>
	 </bean>
</beans>

2.2.3 测试类

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestDi {

	public static void main(String[] args) {
		String xmlPath = "ee/b_di/applicationContext.xml";
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
		UserService userService = (UserService) applicationContext.getBean("userService");
		userService.addUser();
	}
}

2.2.4 运行结果

add userDao
add userService
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值