知道框架能做什么
框架的语法
会用后 以后在考虑内部实现
通过以上步骤 可以自己实现一个框架
Spring 是一个容器 管理对象,属性赋值,底层使用反射机制
主要是解决企业开发难度
模块之间,类之间的管理解耦合 解决对象之间的关系
核心技术 ioc aop
轻量
针对接口编程 解耦合
支持AOP 面向切面编程
方便集成其他框架 像插座
数据访问 Web AOP 集成 容器 测试
目的减少代码的改动,也能实现不同功能 解耦合
控制:对象的创建,赋值,对象关系之间的管理
反转:把开发人员new对象的权利 转移给容器实现
正转:开发人员使用代码中 new对象
容器:是一个服务器软件,一个框架(Spring)
DI实现IOC的功能
DI:依赖注入 只需提供对象的名称 对象创建、赋值等 由容器内部实现
<!--//Spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
service包下创建接口 imp包下实现类
<!--在资源目录下 要创建Spring的xml-->
<?xml version="1.0" encoding="UTF-8"?>
<!--beans:根标签 spring把java对象成bean-->
<!--spring-beans.xsd:格式约束文件-->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 声明bean 告诉spring创建对象
id:自定义名 spring通过这个名找到对象
class:全限定名称(不能是接口 必须类)-->
<bean id="some" class="com.baidu.service.imp.SomeServiceImp"/>
</beans>
//ApplicationContext:是Spring的容器 通过容器获取对象
//ClassPathXmlApplicationContext:类路径加载Spring配置文件
ApplicationContext app =
new ClassPathXmlApplicationContext("beans.xml");
?
//getBean方法:获取
xxxx xx =
(xxxx)app.getBean("配置文件中的bean的id");
spirng: 创建对象的时间:创建spring的容器时,创建beans的所有对象
spring: 默认调用无参构造
获取容器中对象的信息api:
getBeanDefinitionCount(): 获取定义的对象数量
getBeanDefinitionNames():获取所有定义对象的名称
基本类型和String在这属于简单类型
引用
spring 配置文件中,使用标签和属性
spring 调用类的set方法 必须有
//在spring配置文件bean中为属性赋值
//实际调用set方法
<property name="属性名" value="值 都要加引号"/>
?
//引用类型
<property name="属性名" ref="time"/>
<bean id="time" class="java.util.Date"/>
调用类的有参构造方法
<constructor-arg
name="构造方法的新参名"
index="从0开始 构造方法参数位置"
ref="引用"
value="简单类型值"/>
//还有个省略index 但是要按方法参数位置
spring 配置文件中,使用spring的注解
//类的属性名和spring配置文件bean id名一致 类型一致
<bean id=""class="" autowire="byName">
//简单类型赋值 引用自动
</bean>
//spring配置文件bean class类型一致或父子接口类关系
//唯一bean
<bean id=""class="" autowire="byType">
//简单类型赋值 引用自动
</bean>
文件小 效率高
避免多人使用冲突
按类的功能
//创建一个Srping主配置文件total.xml
//里面包含其他配置文件spring-*.xml
//一般不定义对象
<import resoutce = "classpath:路径.xml">
//可以使用通配符*
//不能包含total.xml
//需要在目录下才能使用
<import resoutce = "classpath:spring-*.xml">
原文:https://www.cnblogs.com/zumeng/p/15227687.html