zoukankan      html  css  js  c++  java
  • Spring学习【Spring】

    Rod Johnson编写

    目标:使J2EE开发变得更加容易,通过启用基于 POJO 编程模型来促进良好的编程实践。

    • 依赖注入(DI)
    • 面向方面的程序设计(AOP):

    常用注入方式

    1. 设值注入(自动调用java类的set方法)
    2. 构造注入(调用java类的构造方法)

    Bean

    id
    Class
    Scope
    Constructor arguments
    Properties
    Autowiring mode
    lazy-inintialization mode
    initialization/destruction method

    Bean 作用域

    1.singleton 单例
    2. peototype 每次请求创建一个新的实例
    3. request
    4. session
    5. global session

    Bean 生命周期

    1. 定义
    2. 初始化
    3. 使用
    4. 销毁

    init方法、destroy方法

    配置全局默认初始化、销毁例子。

    Spring Aware
    通过Aware接口,可以对Spring相应资源进行操作(一定要慎重)

    ApplicationContextAware
    BeanFactoryAware

    Bean的自动转配(Autowiring)

    No:不做任何操作
    byname:根据属性名自动装配
    byType:Type的注入和ID并没有什么关系
    Constructor:

    Resources
    针对于资源文件的统一接口

    UrlResource
    ClassPathResource
    FileSystemResource
    ...

    ResouceLoader

    classPath:
    file:
    http:
    none

    Bean管理的注解实现

    ClassPath扫描与组件管理

    @Configuration 配置类
    @Bean           标一个用于配置和初始化一个由SpringIoC容器管理的新对象的方法
                    name、initMethod、destroyMehtod
    @Import
    @Autowired   依赖注入
    
    @Servcie      标注一个业务逻辑组件类
    @Repository   标注一个DAO组件类
    @Controller   标注一个控制器组件类
    @Component    标注一个普通的Spring Bean类
    
    @Resource
    

    元注解,基于注解,定义注解。

    <context:component-scan base-package="org.example"

    定义Bean@Service

    作用域@Scope("Prototype") 表示每一次请求都会创建一个新的对象
    @Required 注解适用于bean属性的setter方法
    @Autowired 注解为“传统”的setter方法
    @Qualifier 按类型自动装配可能多个bean实例的情况,可以使用Qualifier注解缩小范围(或指定唯一)
    @Bean 标一个用于配置和初始化一个由SpringIoC容器管理的新对象的方法
    @ImportResource 用于加载资源文件,用于将变量注解。

    基于泛型的自动装配


    AOP
    AOP(Aspect Oriented Programming)
    通过预编译方式和运行期动态代理实现程序功能的
    统一维护的一种技术。

    1. 预编译(AspectJ)
    2. 运行期动态代理(JDK动态代理,CGLib动态代理)

    作用

    1. 提供了声明式的企业服务器,替代EJB服务
    2. 允许用于定制自己的方面,已完成OOP与AOP的互补使用

    SPring AOP不会与AspectJ竞争。

  • 相关阅读:
    rustlang入门教程
    中间件日志切割
    Redis非关系型缓存数据库集群部署、参数、命令工具
    SaltStack自动化软件简介及安装
    CentOS根目录下各目录介绍
    Dockerfile书写介绍及构建ssh镜像、tomcat镜像、nginx镜像
    DockerFile执行报错解决
    阿里云CentOS7.2把默认语言修改成中文
    JavaScript 如何判断一个数据的类型
    MongoDB windows 下安装配置
  • 原文地址:https://www.cnblogs.com/shengwang/p/9721275.html
Copyright © 2011-2022 走看看