Spring概念,底层原理,实例化三种方式
来源:互联网 发布:java 适配器模式 编辑:程序博客网 时间:2024/06/06 04:06
1、spring是开源的轻量级框架
2、 spring核心主要两部分:
(1)aop:面向切面编程,扩展功能不是修改源代码实现
(2)ioc:控制反转。
比如有一个类,类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象,把对象的创建不是通过new方式实现,而是交给spring配置类创建对象。
3、spring是一站式框架
(1)spring在javaee三层结构中,每一层都提供不同的解决技术
web层:spring mvc
service层:spring 的ioc
dao层:spring的jdcTemplate
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)反射
ioc实现原理图:
ioc入门案列:
步骤:
1、导包
导入四个核心包与支持日志输出(2个:commons-logging,log4j)的包
2、创建类,在类里面创建方法
public class User {public void add(){System.out.println("add()");}public static void main(String[] args) {User user=new User();user.add();}}
3、创建spring配置文件,配置创建类
(1)spring核心配置文件名称和位置不是固定的
建议放到src下,官方建议:applicationContext.xml
(2)引入schema约束
进入路径:G:\spring-framework-4.3.7.RELEASE\docs\spring-framework-reference\html
找到最后一个文件:xsd-configuration.html打开以后从后往前找
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><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 id="User" class="cn.itcast.ioc.User"></bean></beans>
4、写代码测试对象创建
public class TestIOC {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");User user = (User) context.getBean("user");System.out.println(user);user.add();}}
处理配置文件没有提示问题:
1、spring引入schema约束,把约束文件引入到eclipse中:
复制约束路径:
http://www.springframework.org/schema/beans/spring-beans.xsd">
spring的bean管理(xml方式):
bean的实例化方式:
1、在spring中通过配置文件创建对象
2、bean的实例化三种方式实现
(1)使用类的无参数构造方法(重点):参考上
(2) 使用静态工厂来创建
使用静态的方法返回对象
bean2.java
public class TestBean3Factory {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"bean1.xml");
Bean3 bean3 = (Bean3) context.getBean("bean3");
System.out.println(bean3);
}
}
Bean2Factory.java
public class Bean2Factory {
public static Bean2 getBean2()
{
return new Bean2();
}
}
bean.xml
<!-- 使用静态工厂创建对象 --><bean id="bean2" class="cn.itcast.ioc.Bean2Factory" factory-method="getBean2"></bean>
运行:
public class TestBeanFactory {public static void main(String[] args) {System.out.println("11");ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");System.out.println("11");Bean2 bean2 = (Bean2) context.getBean("bean2");System.out.println(bean2);}}(3)使用实例工厂创建
Bean3.java
public class Bean3 {public void add(){System.out.println("bean3");}}Bean3Factory.java
public class Bean3Factory {public Bean3 getBean3(){return new Bean3();}}Bean1.xml
<!-- 创建工厂对象 --><bean id="bean3Factory" class="cn.itcast.ioc.Bean3Factory"></bean><bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>测试:
public class TestBean3Factory {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");Bean3 bean3 = (Bean3) context.getBean("bean3");System.out.println(bean3);}
- Spring概念,底层原理,实例化三种方式
- spring实例化之底层实现原理
- Spring的ioc底层原理和简单实例
- Spring IOC底层原理
- 【Spring】IOC底层原理
- Spring IoC底层原理
- Spring AOP底层原理
- Spring ioc 底层原理
- spring Ioc底层原理
- spring之ioc底层原理
- Spring AOP底层实现原理
- spring IOC底层原理实现
- Ant 概念 原理 实例
- spring入门--Spring框架底层原理
- Spring入门---Spring框架底层原理
- spring入门--Spring框架底层原理
- Spring中的AOP底层实现原理
- Spring学习-17:AOP底层原理
- POJ1274: The Perfect Stall 题解
- hdu 2795 Billboard 线段树
- 如何用js给css3中的属性和jquery中的animate动态传值
- angular.js里的ng-show,ng-hide与ng-if的区别
- Machine Learning Notes II
- Spring概念,底层原理,实例化三种方式
- 通过字节码深入分析java的枚举类型enum
- 使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题
- js回掉函数取不到action字段的问题
- centos6.4下CDH5.7.1集群的安装
- Java基础复习之StringBuffer和StringBuilder简要记录
- 【项目管理和构建】——Maven简介(二)
- ConcurrentHashMap的size操作
- C8051F环境搭建