博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring框架及IOC容器
阅读量:6418 次
发布时间:2019-06-23

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

  Spring是一个非常活跃的开源框架, 它是一个基于IOC和AOP来构架多层JavaEE系统的框架,它的主要目地是简化企业开发。Spring以一种非侵入式的方式来管理你的代码, Spring提倡”最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring。

1.Spring 6个模块

Spring提供了一站式解决方案:

1) Spring Core  spring的核心功能: IOC容器, 解决对象创建及依赖关系

2) Spring Web  Spring对web模块的支持。

可以与struts整合,让struts的action创建交给spring

spring mvc模式

3) Spring DAO  Spring 对jdbc操作的支持  【JdbcTemplate模板工具类】

4) Spring ORM  spring对orm的支持:

可以与hibernate整合

也可以使用spring的对hibernate操作的封装

5)Spring AOP  切面编程

6)SpringEE   spring 对javaEE其他模块的支持

2.引入jar文件

commons-logging-1.1.3.jar                  日志

spring-beans-3.2.5.RELEASE.jar           bean节点

spring-context-3.2.5.RELEASE.jar         spring上下文节点

spring-core-3.2.5.RELEASE.jar             spring核心功能

spring-expression-3.2.5.RELEASE.jar    spring表达式相关表

3.核心配置文件

applicationContext.xml:

4.使用Spring容器

@Test    public void test2() {        ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("com/juaner/spring/applicationContext.xml");        User user = (User) ac.getBean("user");        System.out.println(user);    }

5.实例化bean

  bean的属性scope指定单例、多例模式。

  如果为单例模式,对象在容器初始化之前创建,lazy_init可以延迟初始化到对象使用时才创建对象,支队单例有效。

  如果为多例模式,对象在使用时创建。

6.设置依赖注入(Dependency Injection)

         1) 通过构造函数

         2) 通过set方法给属性注入值

         3) p名称空间,需要引入命名空间

xmlns:p="http://www.springframework.org/schema/p"

         4)自动装配

    通过属性名查找:

    通过类型查找,必须确保改类型在IOC容器中只有一个对象;否则报错:

         5) 注解

    引入context名称空间

xmlns:context="http://www.springframework.org/schema/context"

    开启注解扫描

            创建对象以及处理对象依赖关系,相关的注解:

                 @Component   指定把一个对象加入IOC容器

      @Repository    作用同@Component; 在持久层使用

      @Service         作用同@Component; 在业务逻辑层使用

      @Controller     作用同@Component; 在控制层使用

      @Resource      属性注入

7.完整配置

 

转载于:https://www.cnblogs.com/juaner767/p/5578679.html

你可能感兴趣的文章
用Go自己实现配置文件热加载功能
查看>>
PermissionDialog【权限申请提示对话框】
查看>>
【单页应用】我们该如何处理框架弹出层层级关系?
查看>>
Leetcode: Clone Graph
查看>>
基础知识《三》java修饰符
查看>>
net.sf.json在处理json对象转换为普通java实体对象时的问题和解决方案
查看>>
线性回归与梯度下降
查看>>
【iCore3 双核心板_FPGA】实验二十:基于FIFO的ARM+FPGA数据存取实验
查看>>
java一个数分解的质因数java
查看>>
android framework-安装samba
查看>>
配置WCF的心得
查看>>
飞雪连天射白鹿笑书神侠倚碧鸳
查看>>
排名中国重读“发展Linux,中日两国之比较”有感-java教程
查看>>
VC6.0代码移植到VS2008运行时乱码问题解决
查看>>
反射实例
查看>>
Linux安装Jdk,CentOS安装Jdk
查看>>
iOS之事件穿透
查看>>
Oracle API Availability – Profile
查看>>
Chromium Embedded Framework中文文档 (如何链接不同的运行时)
查看>>
【PAT】1029. Median (25)
查看>>