Spring简介
以最简单的话来说Spring,它就是一个容器,我们的java类都可以放到Spring容器中管理,当需要使用某个类对象的时候直接从Spring容器中取就OK。
所以使用Spring之后我们获取类对象的方式不再是new 一个对象,而通过容器上下文对象获取;它可以给对象属性赋值,也可以通过构造器给对象属性赋值。
Spring给对象属性赋值是通过属性set方法注入赋值的,没有set方法是会报错。
对象不再是由我们写程序new出来,所以创建对象的主动权可以说是由用户选择创建,而不是由程序员写死;这也就是反转编程,创建对象的主动权反转给了用户。
更多详情在使用案例中有介绍
Spring环境搭建-IDEA
- 导Spring的jar包
- 配置applicationContext.xml
- 获取对象
maven导Spring的jar包
<dependencies>
<!--spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.18</version>
</dependency>
</dependencies>
配置applicationContext.xml
一个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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--使用spring来创建对象,在spring这些都称为Bean
传统:类型 变量名 = new 类型()
spring:
一个bean相当于一个对象
id = 变量名
class = new 的对象
property 相当于给对象中的属性赋一个值!
-->
<bean id="dao" class="cn.mao.dao.UserDaoImpl" />
<!-- ref 引用Spring容器中创建号的对象
value 具体的值,基本数据类型
-->
<bean id="service" class="cn.mao.service.UserServiceImpl">
<property name="userDao" ref="Mysql"/>
</bean>
</beans>
获取对象
public static void main(String[] args) {
//获取Spring的上下文对象!
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//对象现在都在Spring中的管理了,需要使用,直接从里面取出来就OK
Hello hello = context.getBean("hello",Hello.class);
System.out.println(hello);
}