1.Spring的基本应用(来自JAVA EE企业级应用开发教程——个人笔记)

1.1 Spring需要的的核心jar包

spring-beans-4.3.6.RELEASE.jar
spring-context-4.3.6.RELEASE.jar
spring-core-4.3.6.RELEASE.jar
spring-expression-4.3.6.RELEASE.jar

but还需要一个第三方jar包来配合使用:commons-logging-1.2.jar

(这个jar是 日志模块 )

1.2 application.xml需要的配置信息

<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">
</beans>

1.3 spring的IOC控制反转

**理解:**本来java创建一个类的实例,通过new的方式,现在把new的权限交给了Spring容器。

application.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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
	<bean id="userDao" class="com.ntzhuima.ioc.UserDaoImpl"></bean>
	<bean id="userService" class="com.ntzhuima.ioc.UserServiceImpl">
		<property name="userDao" ref="userDao"></property>
	</bean>
</beans>

TestIOC.java

public class TestIoc {
	public static void main(String[] args) {
		String path = "application.xml";
		ApplicationContext application = new ClassPathXmlApplicationContext(path);
		UserDao userDao = (UserDao) application.getBean("userDao");
		userDao.say();
		System.out.println("---------------------");
		UserService userService = (UserService) application.getBean("userService");
		userService.say();
	}
}

由(UserDao) application.getBean(“userDao”)可以看出不再去使用new UserDao()去获取实例,这个就是控制反转。

1.4 Spring的DI依赖注入

理解:什么是依赖注入呢?比如说UserController.java中要使用UserService.java这个类,通常是在UserController.java中使用语句UserService userService = new UserService();这个是常规的操作。

下边是使用依赖注入的操作:
application.xml

<bean id="userDao" class="com.ntzhuima.ioc.UserDaoImpl"></bean>
<bean id="userService" class="com.ntzhuima.ioc.UserServiceImpl">
	<property name="userDao" ref="userDao"></property>
</bean>

name="userDao"中的userDao是UserServiceImpl中属性名,ref="userDao"中的userDao指的id=userDao的bean。使用的是设值注入的方式,所以在UserServiceImpl中要这样写,就相当于实例化了UserDao了

private UserDao userDao;
public void setUserDao(UserDao userDao) {
	this.userDao = userDao;
}

1.5 如何获取bean

//1.声明路径
String path = "application.xml";
//2.初始化spring容器,加载配置文件
ApplicationContext application = new ClassPathXmlApplicationContext(path);
//3.通过容器获取bean实例
UserDao userDao = (UserDao) application.getBean("userDao");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值