首页 > 其他分享 >Spring学习(一)

Spring学习(一)

时间:2022-09-06 19:55:45浏览次数:53  
标签:UserDAO Spring class 学习 Bean save public

Spring体系结构

  • bean,core,context,SpEL

Spring开发步骤

业务层(service)

DAO层(DAO)

  1. 导入Spring基本包
  2. 编写DAO接口和Impl类
  3. 创建Spring核心配置文件
  4. 在Spring配置文件中配置Impl
  5. 使用SpringAPI获取Bean实例

例子

public interface UserDAO {
    public void save();
}

public class UserDaoImpl implements UserDAO {
    @Override
    public void save() {
        System.out.println("save running");
    }
}

///
<?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 = "zk.dao.impl.UserDaoImpl"></bean>

</beans>
///

package zk.demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import zk.dao.UserDAO;

public class UserDemo {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDAO dao = (UserDAO) app.getBean("userDao");
        dao.save();
    }
}

Bean标签范围配置

scope

  • singleton 单例的,默认值。加载配置文件时创建
  • prototype 多例的,getBean的时候创建
  • request
  • session
  • global session

生命周期的配置

  • init-method
  • destropy-method

Bean实例化方式

  • 无参构造 class = "包.类"
  • 工厂静态 class = "包.工厂" factory-method="工厂.静态方法"
  • 工厂实例 现配一个工厂bean,再配一个类bean

Bean依赖注入

把业务层和持久层的依赖关系交给Spring去管理

  • set方法注入

    <property name="" ref=""></property>
    
  • 简单的set方法,加个p命名空间

    <bean id="" class="" p:userDao-ref="userDao"></bean>constructor-arg
    
  • 有参构造

    <property constructor-arg="" ref=""></property>
    

普通数据注入

    <bean id="userDao" class = "zk.dao.impl.UserDaoImpl">
        <property name="name" value="zhangsan"></property>
        <property name="age" value="1"></property>
    </bean>

集合注入

    <bean id="userDao" class = "zk.dao.impl.UserDaoImpl">
        <property name="strList">
            <list>
                <value>aaa</value>
                <value>bbb</value>
                <value>ccc</value>
            </list>
        </property>
        <property name="stringUserMap">
            <map>
                <entry key="user1" value-ref="user1"/>
                <entry key="user2" value-ref="user2"/>
            </map>
        </property>
        <property name="properties">
            <props>
                <prop key="p1">ppp1</prop>
                <prop key="p2">ppp2</prop>
                <prop key="p3">ppp3</prop>
            </props>
        </property>
    </bean>

引入其他模块

<import resource="applicationContext-user.xml"/>
<import resource="applicationContext-product.xml"/>

标签:UserDAO,Spring,class,学习,Bean,save,public
From: https://www.cnblogs.com/destinyzk/p/16663127.html

相关文章

  • Linux学习笔记:mkdir创建文件夹
    Linux学习笔记:mkdir创建文件夹文件夹,即目录,在linux中使用mkdir创建。语法:mkdirdir_name通过mkdir命令可以实现在指定位置创建以dir_name(指定的文件名......
  • 【前端学习笔记】Vue 3.0 带来的变化
    主要变化更小的体积和更快的速度API设计的一致性增强Typescript支持开放更多底层APICompositionAPI(Vue2则是OptionsAPI)原先学过一点react,对rea......
  • 一起学习华为自研数据库gaussdb(dws)
    一,什么是GaussDB?这次高斯不是数学家GaussDB是华为公司数据库产品品牌名。华为公司从开始自研数据库至今已经有近20年历史,其中经历了早期发展、GaussDB的诞生和发展、数据......
  • 算法学习—————PAM回文自动机
    时隔一年,第一次学习新的算法原理和AC自动机差不多基本思想:两棵树分别代表奇偶在一个回文串两边同时填上相同字符可以得到另一个回文串,以此构建两棵树树上维护信......
  • [安装配置] SpringBoot项目部署
    打包SpringBoot项目 部署方式一:手动部署1、将打包好的jar包上传到Linux服务器中mkdir-p/opt/java62/app2、前台启动SpringBoot应用编译jar包:java-jarhellowor......
  • gfology学习2
    Chapter2介绍不同类型常用于生成函数的级数1.形式幂级数定义:在形式幂级数中,\(x\)从来不指定一个数值,且对收敛和发散的问题不感兴趣,感兴趣的是系数序列\((a_0,a_1,\cdo......
  • Js学习之------如何判断对象为空?
    1、JSON.stringify()JSON.stringify()可以把json对象转为json字符串只需要判断序列化后的对象是否全等于字符串“{}”即可2、Object.keys()ES6中Object.keys()方法,会把对象中......
  • Unity学习资源(超全)
     官方资料UnityUserManual手册Unity-ScriptingAPI(API详解)Unity-Learn-Modules(官方视频教程,适合英语好的同学) 下面是收集的一些不错的视频教程,对......
  • Spring_Boot + Mybatis_Plus初始化
    创建SpringBoot项目基础创建及基本配置:https://www.cnblogs.com/Stars0121/p/16601285.html安装依赖项目所需依赖<dependencies><dependency>......
  • 传输层协议学习
     传输层协议TCP/IP 介绍TCP协议TCP/IP 分层TCP特新TCP报文TCP三次握手TCP四次挥手UDP特性   传输层协议TCP/IP介绍TCP/IP是一个ProtocolStack,......