Spring Note 4: 第一个程序

配置

Maven依赖

1
2
3
4
5
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>

XML文件模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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">

<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>

<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>

<!-- more bean definitions go here -->

</beans>

使用Spring来创建对象

在Spring中,通过配置文件beans.xml来创建对象,通常来说一个类对应一个bean。

1
2
3
4
5
6
<bean id="userDao" class="com.xliu.dao.UserDaoImpl"/>
<bean id="userDaoMysql" class="com.xliu.dao.UserDaoMysqlImpl"/>

<bean id="userServiceImpl" class="com.xliu.service.UserServiceImpl">
<property name="userDao" ref="userDaoMysql"/>
</bean>

id = 变量名

class = new的对象

property相当于给对象中的属性设置一个值,只要有一个属性,就写一个来赋值

因为在com.xliu.service.UserServiceImpl这个类中,有setUserDao这个方法,因此name=”userDao”, ref=”userDaoMysql”代表的是创建对象的类,ref的值对应bean的id。

MyTest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import com.xliu.dao.UserDao;
import com.xliu.dao.UserDaoImpl;
import com.xliu.dao.UserDaoMysqlImpl;
import com.xliu.service.UserService;
import com.xliu.service.UserServiceImpl;

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

public class Mytest {
public static void main(String[] args) {
// 获取Spring的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
// 我们的对象现在都在Spring中管理了,我们要使用,直接去里面取出来就可以了
UserServiceImpl userService = (UserServiceImpl) context.getBean("userServiceImpl");
userService.getUser();
}
}

输出:MySQL获取用户数据

分析

如果需要使用别的UserDao实现类,只需要在配置文件中改ref的值,例如ref="userDao",即可输出获取用户数据