当前位置:   article > 正文

JavaEE——Spring框架(Spring的基本应用)_spring中的javaee服务

spring中的javaee服务

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();
}
  • 1
  • 2
  • 3
public class UserServiceImpl implements UserService {

	@Override
	public void addUser() {
		System.out.println("add user");
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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();
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.1.5 运行结果

add user
  • 1

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

2.2.1 目标类

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

public interface UserDao {
	public void addUser();
}
  • 1
  • 2
  • 3
public class UserDaoImpl implements UserDao {

	@Override
	public void addUser() {
		System.out.println("add userDao");
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
public interface UserService {
	public void addUser();
}
  • 1
  • 2
  • 3
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");
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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();
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.2.4 运行结果

add userDao
add userService
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/384685
推荐阅读
相关标签
  

闽ICP备14008679号