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竞争。

  • 相关阅读:
    EV录屏
    Oracle 游标详解 【转载至CSDN「鱼丸丶粗面」】
    ORACLE查询表数据占用存储空间大小(清理表碎片)
    开源项目
    Shiro 简介(认证、授权、加密、会话管理、与 Web 集成、缓存等)
    OSCHINA 公布 2019 年度最受欢迎中国开源软件
    腾讯开发者手册
    hutool JAVA 工具类
    小程序登录
    微信小程序button组件样式
  • 原文地址:https://www.cnblogs.com/shengwang/p/9721275.html
Copyright © 2011-2022 走看看