1. spring 概述
spring 中有一个非常概念: bean (是 java 中的任何一种对象 javabean/service/action / 数据源./dao, ioc(控制反转 inverse of control) di(dependency injection 依赖注入)。
spring 实际上是一个容器框架(struts 是 web 框架 ( jsp /action/actionfrom),hibernate 是 orm 框架, 处于持久层.),管理 web 层、业务层、dao 层、持久层,该框架可以配置各个层的 组件 即种 bean(action/service/domain/dao), 并可以维护各个 bean 之间的关系, 当我们需要使用某个 bean 的时候,我们可以 getBean(id), 使用即可.
ioc(inverse of controll) 控制反转: 所谓控制反转就是把创建对象 (bean), 和维护对象(bean) 的关系的权利从程序中转移到 spring 的容器(applicationContext.xml), 而程序本身不再维护.。
di(dependency injection) 依赖注入: 实际上 di 和 ioc 是同一个概念,spring 设计者认为 di 更准确表示 spring 核心技术。
2. spring 快速入门(spring 框架既可以用于 web 项目,也可以用于 java 项目)
(1)引入 spring 的开发包 (最小配置 spring.jar 该包把常用的 jar 都包括, 还要 写日志包 common-logging.jar
(2)创建 spring 的一个核心文件 applicationContext.xml, [hibernate 有核心 hibernate.cfg.xml struts 核心文件 struts-config.xml], 该文件一般放在 src 目录下, 该文件中引入 xsd 文件
(3)配置 bean
代码示例:
applicationContext.xml 中的配置:
- //或者写成
- Join
UserService.java 代码:
- package com.service;
- public class UserService {
- private String name;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public void sayHello() {
- System.out.println("hello " + name);
- byeService.sayBye();
- }
- }
Test.java 代码:
- //spring 的applicationContext对象(容器对象)
- ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
- UserService us = (UserService) ac.getBean("userService");
- us.sayHello();
来源: https://www.2cto.com/kf/201712/706707.html