JavaEE-Spring基本应用

1、Spring概述

1、什么是Spring?
Spring是分层的Java SE/EE full-stack轻量级开源框架
2、Spring有什么用?
简化应用程序的开发
3、特点:

  • LoC(Inverse of Control 控制反转)
  • AOP(Aspect Oriented Programming 面向切面的编程)

4、Spring的体系结构
Spring体系结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Spring核心容器

Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制。Spring为我们提供了两种核心容器,分别为BeanFactoryApplicationContext
1、创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理,加载配置语法:

BeanFactory beanFactory=new XmlBeanFactory(new  FileSystemResource("F:/applicationContext.xml"))

"……"为配置文件的位置
2、ApplicationContext是BeanFactory的子接口,是另一种常用的Spring核心容器。
(1)通过ClassPathXmlApplicationContext创建

ApplicationContext applicationContext= new ClassPathXmlApplicationContext(String configLocation);

ClassPathXmlApplicationContext会从类路径classPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。
(2)通过FileSystemXmlApplicationContext创建

ApplicationContext applicationContext = new FileSystemXmlApplicationContext(String configLocation);

FileSystemXmlApplicationContext会从指定的文件系统路径(绝对路径)中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。

3、获取Spring容器管理的方法:

  • Object getBean(String name);
    根据容器中Bean的id或name来获取指定的Bean,获取之后需要进行强制类型转换。
  • T getBean(Class requiredType);
    根据类的类型来获取Bean的实例。由于此方法为泛型方法,因此在获取Bean之后不需要进行强制类型转换。

3、Spring入门程序

UserService获得UserDao的实例

  1. 在src/main/java 下项目路径下创建IUserDao.java,IUserService.java接口,然后在每个接口各定义一个public void say() 方法
    在这里插入图片描述

  2. 创建上述接口的实现类UserDaoImpl.java,User ServiceImpl.java
    在这里插入图片描述

package cn.edu.ujn.ch1;
public class UserServiceImpl implements IUserService {

	private IUserDao userDao;	

//使用setter方法实现依赖注入
	public void setUserDao(IUserDao userDao) {
		this.userDao = userDao;
	}
	@Override
	public void say() {
		// TODO Auto-generated method stub
		System.out.println("userservice say hello world!");
		userDao.say();
	}
}
  1. 创建Spring的配置文件applicationContext.xml,并在配置文件中创建一个id为userDao的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">
	
	<bean id="userDao" class="cn.edu.ujn.ch1.UserDaoImpl"></bean>
	
	<bean id="userService" class="cn.edu.ujn.ch1.UserServiceImpl">
	<property name="userDao"  ref="userDao"></property>
	</bean>
	
</beans>

注:

  • < property>两个参数表示把哪一个实例注入给哪一个成员变量,name为成员变量(Userservice类中声明的成员变量);ref为实例,即上面 < bean id=“userDao” ……>中的id。
  • 每一个< bean></ bean>就是Spring管理的一个实例。
  1. 创建测试类,并在类中编写main()方法。在main()方法中,需要初始化Spring容器,并加载配置文件,然后通过Spring容器获取userDao实例(即Java对象),最后调用实例中的say()方法。
package cn.edu.ujn.ch1;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring {
	public static void main(String[] args) {
		ClassPathXmlApplicationContext ctx = 
				new ClassPathXmlApplicationContext("applicationContext.xml");
		IUserDao userdao = (IUserDao) ctx.getBean("userDao");
		userdao.say();
		System.out.println("-------------------------------");
		IUserService userservice = (IUserService)ctx.getBean("userService");
		userservice.say();
	}
}

4、依赖注入

在这里插入图片描述
使用setter方法实现依赖注入。

5、其他

  1. 常用快捷方式
    alt+/ 提示
    CPXAC 创建一个Spring的上下文
    ctrl+1赋值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值