zoukankan      html  css  js  c++  java
  • Spring基础

    1.Spring简介

    spring的full-stack全栈是什么意思?

    就是在每一层都有对应的解决方案,如web层有对应的spring MVC,在dao层有JDBC Template

     2.Spring优势

    Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
    Spring工厂是用于生成bean

     3.Spring体系结构

     

     4.Spring开发步骤

     这是之前的开发,现在是想借助spring框架完成解耦合

    spring框架的作用就是读取这个配置文件,从而获得全包名,帮助创建对象的。

     

    步骤:

    (1)导入Spring开发的基本包坐标。导入框架对应的jar包,这里是maven,就是导入spring对应的maven坐标

    (2)编写Dao接口和实现类。要获得UserDaoImpl对象,因此要编写UserDao的接口和UserDaoImpl的实现

    (3)创建Spring核心配置文件。创建xml配置文件

    (4)在Spring配置文件中配置UserDaoImpl。将UserDaoImpl的全包名配置到xml配置文件中

    (5)使用Spring的API获得Bean实例。通过这句话UserDao userDao = Spring客户端.getBean(id标识);把标识传进去,最终返回一个对象,这样的话,就去找Spring容器去要对象,而不是自己去new对象的。

     通过这五步可以完成解耦

    后面如果替换成其他对象,直接在配置文件中修改就行了。

    下面按照上面的五个步骤实现一下:

    (0)创建maven工程

    这个可以参考我的这一篇博客:https://www.cnblogs.com/GumpYan/p/13711056.html

    (1)在pom.xml中导入坐标

     (2)编写Dao接口和实现类

     UserDao.java(接口)

    package com.company.dao;
    
    public interface UserDao {
        public void save();
    }
    

    UserDaoImpl.java(实现类)

    package com.company.dao.impl;
    
    import com.company.dao.UserDao;
    
    public class UserDaoImpl implements UserDao {
        public void save() {
            System.out.println("save running...");
        }
    }
    

    (3)创建Spring核心配置文件。创建xml配置文件,applicationContext.xml

     如果没有Spring config,可以看这三篇文档解决:

    https://blog.csdn.net/Javaytp/article/details/79637101#commentBox

    https://www.cnblogs.com/iceywu/p/12366871.html

    https://blog.csdn.net/wt_better/article/details/78162332

    注意:一定要刷新项目工程

     (4)在Spring配置文件中配置UserDaoImpl。将UserDaoImpl的全包名配置到xml配置文件中

     

     (5)使用Spring的API获得Bean实例

    package com.company.demo;
    
    import com.company.dao.UserDao;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class UserDaoDemo {
        public static void main(String[] args) {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
            UserDao userDao = (UserDao) applicationContext.getBean("userDao");
            userDao.save();
        }
    }
    

      打印出来结果:

  • 相关阅读:
    当el-input输入多行内容,反显时,字符串需要换行显示
    【前端】记录自己在leetcode上的刷题之路
    本地提代码到github上,不显示贡献值的问题
    关于对象的深拷贝和浅拷贝
    js判断两个数值区间是否存在重叠或覆盖
    解决vue-print-nb打印el-table,不同分辨率下,打印显示不全的问题
    vue实现置顶功能
    el-table设置自定义表头,当表头内容过长时,鼠标悬浮显示完整内容
    省市用element级联选择器,构造树形结构的数据(两层)
    STL隐蔽知识点
  • 原文地址:https://www.cnblogs.com/GumpYan/p/13714580.html
Copyright © 2011-2022 走看看