1 建立spring的依赖构建
2 建立依赖构建的话,就可以使用spring核心功能
3 依赖注入的概念
spring框架概念
核心支持依赖注入,事务管理,Web应用程序,数据访问,消息传递,测试等等。
介绍
Spring框架为现代基于Java的企业应用程序提供了全面的编程和配置模型 - 在任何类型的部署平台上。Spring的一个关键要素是应用程序级别的基础架构支持:Spring侧重
于企业应用程序的“管道”,以便团队可以专注于应用程序级别的业务逻辑,而不必与特定的部署环境形成不必要的联系。
特征
依赖注入
面向方面的编程包括Spring的声明式事务管理
Spring MVC和 Spring WebFlux Web框架
对JDBC,JPA,JMS的基础支持
1 spring概念 ioc入门(操作,xml配置文件)
spring相关概念:开源框架,轻量级:框架不需要依赖别的东西,直接可以使用。
功能:使用javaBean代替EJB(重量级框架)
两个核心:面向切面编程(AOP):扩展功能不是修改源代码实现
控制反转(ioc):当调用类中非静态方法,创建类的对象的过程一般需要自己去new出来,而ioc 创建对象不是new而是交给spring配置创建对象
一站式框架:在javaee的三层结构中,每一层都提供了不同的解决技术
不同于hirinate用在dao层,struct2 用在web层
javaee三层结构:web层: springMVC
service层:spring中ioc
dao层:spring的jabcTemplate
spring版本选择:
hibernate5.x
spring4.x,老的用的3
struct2
2 ioc操作
方式:对象的创建直接交给spring
操作方式:1 ioc的配置文件方式
2 ioc的注解方式实现
底层原理:
使用技术:xml配置文件,dom4j解析xml,工厂设计模式,反射代码
分析实现原理:
缺陷:耦合度太高(关联性紧密)。如果有一个User类,如果在servlet中进行调用,如果User的类名或者方法名改变,那么servlet中也需要改变。
尝试1:使用工厂模式进行解耦合。
创建工厂类,在工厂中定义返回User的对象的静态方法 return new User();
在servlet使用的时候,就可以这样得到该对象 User s=Factory.getUser();
缺陷:servlet与工厂类有新的耦合。
思想:高内聚,低耦合(独立性,修改一部分,不影响其他的);
ioc底层原理:
配置文件方式创建对象。
步骤一:创建xml配置文件,配置要创建对象类
<bean id="user" class="User"/>
步骤二:创建工厂类,使用dom4j,解析配置文件+反射
public class User{
public static User getUser(){
String classValue="class属性值";
Class clazz=Class.forName(classValue";
//使用反射创建类对象
User user=clazz.newInstance();
return user;
}
}
3 ioc入门案例
第一步:导入jar包
如何找到jar包 spring-framework-4.2.4.RELEASE-dist.zip
jar包的特点,分为三层
导入哪个包,最核心的四个
支持日志输出的jar包:包括:commons-logging-1.2.jar log4j-1.2.16.jar Apache Commons Logging是一个瘦适配器,允许配置桥接到其他众所周知的日志记录系统。
第二步:创建类,在类里面创建方法
第三步:创建spring配置文件,配置创建类
spring的核心配置文件名称位置不是固定的(不同于struct2),建议放到src下面
创建xml文件
配置对象类<bean id="" class=""/>
第四步: 写代码测试对象创建
加载配置文件 bean文件
//使用单元测试@Test
ApplicationContext cnotallow=
new ClassPathXmlApplicationContext("bean.xml");
c user=(c)context.getBean("user");
解决 配置文件没有提示
1 spring引入schema约束,把约束文件引入到myeclipse中
1 复制约束路径 http://www.springframework.org/schema/beans/spring-beans.xsd
2 属性中搜索 xml catalog点击 add
location中的找本地文件,key放入约束路径,key type 选择schema window
2 引入太多约束降低效率,只导入一个约束,在有网的地方,把配置引入都写一遍,再去没网的地方就可以用了
spring的bean管理(xml配置文件)
bean实例化方式
1在spring里面通过配置文件创建对象
2 bean实例化三种方式实现
1 使用无参数的构造创建(重点)
如果定义有参数构造,则无法进行使用,如果加上有参数构造,就可以使用了。如果类中没有无参数的构造,则会出现异常
2 使用静态工厂
类名直接调用,返回对象,包中建立工厂类,静态方法,返回Bean2的对象 return new Bean2();
配置的话,<bean id="bean2" class="写工厂类的全路径" factory-method="getBean2"/>
使用的话是一样的。
3使用实例工厂创建
工厂中使用普通方法,直接返回return new Bean3
配置<bean id="工厂名" class="工厂类的对象"/> <bean id="bean3" factory-bean="" factory-method=""/>
创建不是静态方法,返回类对象
其他的一些概念
2 ioc(另一种操作,注解) aop概念
3 jdbcTemplate(模板) spring管理事物
4 ssh框架整合开发,三大开发