Spring-初识Spring
作者:互联网
Spring快速入门
1. 创建maven项目
创建默认的maven项目就行,一路下一步
2. 修改pom.xml
注意:版本应该根据自己的需求来选择
我们需要修改的是:
- 打包方式为jar包
- 添加spring依赖
- 添加单元测试依赖
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
3. 编写一些接口和实现类
我这里写一个UserDao接口和UserDaoImpl实现类
package com.sjj.dao;
public interface UserDao {
public void test_1();
}
package com.sjj.dao.impl;
import com.sjj.dao.UserDao;
public class UserDaoImpl implements UserDao {
@Override
public void test_1() {
System.out.println("测试");
}
}
4. 创建spring上下文配置文件,并绑定实现类
我命名为appContext.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.xsd">
<bean id="userDao" class="com.sjj.dao.impl.UserDaoImpl"></bean>
</beans>
5. 测试
package com.sjj.dao;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoTest {
@Test
public void test_1(){
ApplicationContext app = new ClassPathXmlApplicationContext("appContext.xml");
UserDao userDao = (UserDao) app.getBean("userDao");
userDao.test_1();
}
}
Spring配置文件-Bean标签
Bean标签的基本配置
用于配置对象交由Spring处理,默认调用类的无参构造,没有无参构造会创建失败
基本属性
- id:唯一标识、不允许重复
- class:Bean的全限定类名
范围配置scope
取值范围 | 说明 |
---|---|
singleton | 默认值,单例的 |
prototype | 多例的 |
request | WEB项目中,Spring创建一个Bean对象,将对象传入request域中 |
session | WEB项目中,Spring创建一个Bean对象,将对象传入session域中 |
global session | WEB项目中,作用于Portlet环境,如果没有Portlet环境,相当于session |
单例的在配置文件加载的时候就会被创建。而多例的只有当在使用getBean是才会创建,对象长时间不使用会删除对象。
Bean标签的生命周期配置
- init-method:指定类中初始化方法名称
- destroy-method:指定类中销毁方法的名称
Bean实例化方式
- 无参构造方法(默认)
- 工厂方法(静态和实例)
- 静态的方法将class属性转为工厂类,然后添加一个factory-method属性
- 实例的方法先用bean标签实例工厂,然后在目标的bean标签中需要用到属性factory-bean和factory-method
Spring配置文件-依赖注入
如果现在新有一个类接口UserService依赖于UserDao,我们希望将UserDao写入UserService中,有两种办法:
- 使用构造方法
public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
}
<bean id="userService" class="com.sjj.service.impl.UserServiceImpl">
<constructor-arg name="userDao" ref="userDao" />
</bean>
- 使用set方法
import com.sjj.dao.UserDao;
import com.sjj.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void UserServiceTest() {
userDao.userDaoTest();
}
}
<bean id="userDao" class="com.sjj.dao.impl.UserDaoImpl" />
<bean id="userService" class="com.sjj.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao" />
</bean>
注入的类型还可以是普通类型、引用数据类型、集合数据类型
使用普通类型,这时候不是使用ref而是value属性
使用引用集合之类的属性需要对应的子标签
Spring配置文件-引入其他配置文件
引入其他配置文件是为了分模块开发
<import resoure="applicationContext-xxx.xml"/>
标签:UserDao,配置文件,Spring,Bean,初识,userDao,public 来源: https://www.cnblogs.com/S2Jgogo/p/16063673.html