博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring4
阅读量:5268 次
发布时间:2019-06-14

本文共 1652 字,大约阅读时间需要 5 分钟。

Spring是位于业务逻辑层的一个框架, 它和前面的struts 、 Hibernate组成了SSH 组合 。 它里面包含两个核心, IOC  + AOP

  • 什么是IOC

  • IOC 的全称是 Inversion Of Control 翻译过来是控制反转的意思。

  • 什么是AOP

  • AOP为Aspect Oriented Programming的缩写,意为:面向切面编程

  • IOC 的全称是 Inversion Of Control 翻译过来是控制反转的意思。 通俗的话说: 就是把对象的创建工作交给spring来完成。
  • 以前创建对象:手动创建  new XXX();现在创建对象:都是由spring来创建(action  |service  | dao 这些类一般都交给spring来完成。)

    Spring入门

  • 导入jar包
  • 声明业务逻辑类
  • 在src下新建xml文件,导入约束
  • 在xml里面托管要让spring创建实例的类
  • 创建工厂,问工厂要实例对象。
  • 使用对象调用方法
  • spring入门详解

  • xml的解释
  •  

  • 代码的解释
  • //创建工厂 classpath: 类路径,其实就是src下的所有资源,在编译的时候,会搬到bin/classes/      //类加载器     //创建工厂,需要依赖xml文件。    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");        //问工厂要对象    UserService userService = (UserService) context.getBean("us");    userService.save();    //关闭工厂,但是一般不会关闭。    ((AbstractApplicationContext) context).close();

     

  • Spring IOC实例化方式

  • 无参构造方式(最简单的)【重点】

  • 要求托管的类,需要具备无参构造方法
  • public class UserServiceImpl implements UserService {@Override        public void save() {            System.out.println("调用了UserServiceImpl的save方法~~!");        }        }xml: 

     

  • 静态工厂方法

  • public class StaticFactory {public static UserService getBean(){            System.out.println("执行了静态方法创建对象~~~");            return new UserServiceImpl();        }    }xml:     

     

  • 实例工厂方法

  • 要求我们自己提供工厂,而且工厂要返回类的实例,工厂方法是非静态的。
  • public class InstanceFactory {    public  UserService getBean(){            System.out.println("执行了非静态方法创建对象~~!!!~");            return new UserServiceImpl();        }    }xml:    

    不管是静态工厂还是实例工厂,都没有解决掉核心问题。 具体类的实例其实还是由程序员来创建,spring的工厂只不过是做了一个跳转作用而已。所以这两种方式不推荐使用。

转载于:https://www.cnblogs.com/appc/p/7978706.html

你可能感兴趣的文章
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>