其他分享
首页 > 其他分享> > Spring-初识Spring

Spring-初识Spring

作者:互联网

Spring快速入门

1. 创建maven项目

创建默认的maven项目就行,一路下一步

2. 修改pom.xml

注意:版本应该根据自己的需求来选择
我们需要修改的是:

    <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处理,默认调用类的无参构造,没有无参构造会创建失败

基本属性

范围配置scope

取值范围 说明
singleton 默认值,单例的
prototype 多例的
request WEB项目中,Spring创建一个Bean对象,将对象传入request域中
session WEB项目中,Spring创建一个Bean对象,将对象传入session域中
global session WEB项目中,作用于Portlet环境,如果没有Portlet环境,相当于session

单例的在配置文件加载的时候就会被创建。而多例的只有当在使用getBean是才会创建,对象长时间不使用会删除对象。

Bean标签的生命周期配置

Bean实例化方式

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>

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