ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring-初识Spring

2022-03-28 09:33:29  阅读:135  来源: 互联网

标签:UserDao 配置文件 Spring Bean 初识 userDao public


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有