天天看点

spring深入浅出核心技术

Spring是一个开源分层的Java SE/Java EE的应用式一站式轻量级框架, 它的核心就是Ioc/Aop

Spring的优点:

1.方便解耦,简化开发,通过Spring提供的Ioc容器,把对象之间的依赖交由Spring控制.

2.Spring提供的功能,方便AOP面向切面编程.

3.声明式事务的支持,灵活的进行事务的管理,提高写出代码的效率和质量,将代码变得不再

臃肿.

4.对各类优秀框架的支持.

IOC依赖注入:

在传统的程序设计中,我们需要用某个对象的方法时,需要用new创建对象来使用,而IOC就算将创建对象的过程交给spring框架来执行,也就是容器帮忙创建和注入依赖对象,我们的程序被动的接收IOC容器创建的对象,所以叫控制反转.
           

Spring创建对象的例子:

  • 首先我们创建一个简易的Dao层.
    spring深入浅出核心技术
  • 再创建一个简易的Service层.
    spring深入浅出核心技术
  • 配置文件(Bean.xml).
    spring深入浅出核心技术
    BeanFactory介绍:
  • BeanFactory是一个类工厂,和传统的类工厂不同,传统的类工厂仅负责构造一个类或几个类的实例。而BeanFactory可以创建并管理各种类的对象,Spring称这些被创建和管理的Java对象为Bean。

BeanFactory是一个接口,Spring为BeanFactory提供了多种实现,最常用的就是XmlBeanFactory。

BeanFactory接口最主要的方法就是getBean(String beanName),该方法从容器中返回指定名称的Bean。

  • BeanFactory的获取对象的三种方式(getBean方法):
  • 1.根据name获取对象
  • 2.根据实现的接口类型获取,这个比较常用
  • 3.根据ID获取对象
spring深入浅出核心技术

关于Bean的生命周期:

通过实现Bean的生命周期接口对Bean进行额外的一些控制,虽然具有一些优点,但是带来了一个很严重的问题,我们的类必须实现这些接口,Bean和Spring紧密的结合在了一起,这就带来了很大的麻烦。

所以我们一般不使用这些接口,而是通过< bean >的init-method和destory-method属性来达到我们的初始化和销毁效果,达到框架解耦的问题。

BeanPostProcessor接口是像插件一样注册到Spring容器中,使应用与框架解耦,同时可以为我们完成一些额外的功能。例如可以获取动态代理,还有实现AOP功能。

利用Spring实现数据库的增删改查(这里用删除举例):

  1. 引入依赖和配置文件(注入有3种方法,这里拿set方法注入)
    spring深入浅出核心技术
    spring深入浅出核心技术
  2. ,创建一个账户表和实体类 没有用mybatis框架,先用DButils来实现,创建Dao层和实现类
spring深入浅出核心技术
  1. 创建Service层和实现类,在配置文件已经注入创建对象
    spring深入浅出核心技术
    测试:
    spring深入浅出核心技术