Spring

xiaoxiao2021-02-28  14

Spring概念 1.Spring是开源的轻量级的框架 2.Spring核心主要由两部分 (1)aop:面向切面编程,扩展功能不是通过修改源代码实现 (2)ioc:控制反转: *比如有一个类,在类里面有一个不是静态的方法, 调用类里面的方法,创建类的对象,使用对象调用方法, 创建类对象的过程,需要new出对象; *把对象的创建交给spring配置创建类对象(不需要new) 3.Spring是一站式框架 (1)spring在javaee三层结构中,每一层都提供不同的解决技术 *web层:springMVC *service层:spring的ioc *dao层:spring的jdbeTemplate 4.spring版本 (1)hibernate5.x (2)spring4.x Spring的ioc操作 1.把对象的创建交给spring进行管理 2.ioc操作两部分 (1)ioc的配置文件方式 (2)ioc的注释方式 IOC底层原理 1.ioc底层原理使用技术 (1)xml配置文件 (2)dom4j解决xml (3)工厂设计模式 (4)反射 2.分析ioc实现原理 (1) public class User { public void add() { ...... } }//在servlet调用User类里面的方法 //调用类里面的方法 User user = new User(); user.add();*缺点:耦合度太高 (2) 解决方法:使用工厂模式解耦和 public class UserService { public void add() {} } //创建工厂类 public class Factory { //提供返回UserService对象的方法 public static UserService getService() { return new UserService(); } } public class UserServlet { UserServlet s = Factory.getService(); s.add(); } //但是存在servlet和工厂类耦合

(3)思想:高内聚低耦合--ioc

第一步 创建xml配置文件,配置要创建对象类 <bean id="userService" class="cn.itcast.UserService"/>第二步 创建工厂类,使用dom4j解析配置文件+反射 public class UserFactory { //返回UserService对象的方法 public static UserService getService() { //1.使用dom4j解析xml文件 //根据id值userService, 得到id值对应的class属性值 String classValue = "class属性值" //2.使用反射创建类对象 Class clazz = Class.forName(classValue); //创建类对象 UserService service = clazz.newInstance(); return service; } } public class UserService { ...... } public class UserServlet { //在servlet中得到serve的对象 UserFactory.getService(); }IOC入门案例 第一步 导入jar包 (1)解压资料zip文件 jar特点:都有三个jar包 release,Javadoc,ources core container:beans, core, context, spEL (2)做spring最基本功能的时候,导入四个核心的jar包就可以了 (3)导入支持日志输入的jar包(log4j, logging) 第二步 创建类,在类里面实现方法 package cn.itcast.ioc; public class User { public void add() { System.out.println("add..."); } public static void main(String[] args) { User user = new User(); user.add(); } } 第三步 创建spring配置文件,配置创建类 (1)spring核心配置文件名称和位置不是固定的,建议放到src下面, 官方建议(命名为)applicationContext.xml

(2)引入schema约束

在Spring的配置文件中找schema约束

找到最后一个文件,用浏览器打开,里面有约束的定义,可以直接复制。在浏览器中从后往前找约束的定义。

配置文件中需要的约束(引入约束):要能看懂

(3)配置对象的创建 <!-- ioc入门--> <bean id = "user" class="cn.itcast.ioc.User"></bean>id:[可以随意命名,这里用全小写类名] class:[类的全路径] 第四步 写代码测试对象创建

test中创建对象

User user = (User) context.getBean("此处用的是id值");

(1)这段代码仅在测试中使用

转载请注明原文地址: https://www.6miu.com/read-2603332.html

最新回复(0)