博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring--基于ioc的配置文件方式
阅读量:6546 次
发布时间:2019-06-24

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

概念

  1. Spring是一个开源的轻量级框架
  2. spring核心主要有两部分
    (1.)aop:面向切面编程,扩展功能不是修改源代码实现
    (2.)ioc:控制反转,比如有一个类,在类里面有方法(不是静态方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象
    ioc是把对象的创建不是通过new方式实现,而是交给spring配置创建类对象
  3. spring是一个一站式的轻量级框架
    (1.)spring在javaee三层结构中,每一层都提供不同的解决技术
    ----web层:springMVC
    ----service:spring的ioc
    ----dao层:spring的jdbcTemplate

ioc(控制反转)的操作

  • 把对象的创建直接交给spring进行管理
  • ioc的操作有两部分
    • 基于ioc的配置文件方式
    • 基于ioc的注解方式
  • ioc的底层原理

ioc底层原理使用技术

(1.)xml配置文件
(2.)dom4j解析xml
(3.)工厂设计模式
(4.)反射

img_a36b21c4c8125f1b7c1c67bef5db3d85.png
image.png

ioc操作步骤

  • 第一步 导入jar包
  • 创建类,在类里面创建方法
  • 创建spring配置文件,配置创建类
    • spring核心位置和文件名不是固定的,建议写在src目录下,文件名为ApplicationContext.xml
    • 引入schema约束
    • 创建 配置对象
  • 写测试
/*分两步:1.加载spring配置文件,根据配置文件创建对象*/ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");//第二步:得到配置创建对象/*例如:User user = context.getBean("user");*/

属性注入

创建对象的时候,向类里面属性里面设置值

属性注入方式:(Java方式)
1.有参数的构造函数
2.set方法
3.使用接口注入

//接口注入public interface Dao{  public void delete(String name);}public class DaoImpl implements Dao{  private String name;  public void delete(String name){    this.name = name;  }}

在sping中支持前两种方式(set、有参构造)

注入对象类型属性(重点)

  • 创建service类和dao类
    • 在service得到dao对象(new)
  • 具体实现过程
    • 在service里面把dao作为类型属性private UserDao userDao;
    • 生成dao类型set属性的方法public void setUserDao(UserDO UserDO){this.userDao = userDao}
    • 注入类型的对象属性

IOC和DI的区别

IOC:

控制反转,把对象创建交给spring进行配置
DI:
依赖注入,创建对象中向类里面的属性中设置值
关系:
依赖注入不能单独存在,需要对象创建的基础上存在(在ioc基础上完成操作)

spring整合web项目原理

加载spring核心配置文件

ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
new对象,功能可以实现,效率很低
实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成
实现原理:
1.servletContext对象
2.监听器
3.具体使用
1).在服务器启动时候,为每个项目创建一个servletContext对象
2).在ServletContext对象创建的时候,使用监听器可以监听到具体的ServlectContext对象在什么时候创建
3).使用监听器监听到ServletContext对象创建时候
(1).加载spring文件,把配置文件的配置对象创建
(2).把创建出来的对象放到ServletContext域对象里面(setAttribute方法)
4).获取对象的时候,到ServletContext域对象得到(getAttribute方法)

转载地址:http://bygdo.baihongyu.com/

你可能感兴趣的文章
Ionic:livereload on iOS and android
查看>>
react day one 让陡峭的学习曲线平缓一点
查看>>
Coursera 的 GraphQL 之旅
查看>>
Amazon Aurora新增“回溯”特性,让DB集群可以回退到特定时间点
查看>>
windows 系统的copy命令
查看>>
run C source file like a script
查看>>
容器领域的十大监控系统对比(上)
查看>>
SMS设计之我见
查看>>
jQuery|选择器选取指定元素的后代的所有元素。
查看>>
[深入理解文件系统之五] 从SVR3 到SVR4
查看>>
IE6\7 下 td colspan bug
查看>>
《白帽子讲WEB安全》学习笔记之第9章 认证与会话管理
查看>>
搭建 Python 开发环境
查看>>
WindowsMobile应该如何发展?-2(未完待续)
查看>>
几句话就能让你明白:ACL 访问控制列表(一)
查看>>
DISM命令
查看>>
centos7安装dhcp服务器并由客户端动态获取IP地址
查看>>
easyui datagrid 表格适应屏幕
查看>>
MongoDB安装
查看>>
rapidjson常见使用示例
查看>>