Spring框架

1.Spring概述:

是一款应用于业务逻辑层的轻量级开源框架,主要解决业务逻辑层和其它层的松耦合问题,因此它将面向接口编程思想贯穿整个应用程序。

2.特点

使层与层之间依赖于接口
Spring的bean工厂为我们创建对象,不需要程序自己new对象了(IOC:Inverse of control控制反转;DI:depandency injection依赖注入)
可以管理事务
可以对其他框架进行管理(Struts2, Hibernate, mybatis等)
可以使用 spring自带的springMVC框架
可以使用spring的JDBC模板jdbcTemplate

3.Spring核心部分

spring是一个轻量级的IOC 和 AOP轻量级的开源框架,其两大核心的部分是:
**IOC(DI)控制反转(依赖注入):**
       控制反转(依赖注入)是一种设计思想,通过xml配置文件或者注解的方式实例化对象(bean),然后交给Spring容器管理,如果想要实例化对象,就从容器中取用(依赖注入)。

AOP:面向切面(方面)编程

1.即应用程序在扩展功能时不修改源代码实现功能的扩展,一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。

2.Spring 框架的 AOP 模块提供了面向方面的程序设计实现,允许你定义拦截器方法和切入点,可以实现将应该被分开的代码干净的分开功能。我将在一个独立的章节中讨论更多关于 Spring AOP 的概念。

3.在 OOP 中模块化的关键单元是类,而在 AOP 中模块化的关键单元是方面。AOP 帮助你将横切关注点从它们所影响的对象中分离出来,然而依赖注入帮助你将你的应用程序对象从彼此中分离出来。

4.Spring入门案例

4.1.创建项目,引入依赖
第一步:使用Maven搭建Web项目
第二步:在pom.xml中配置spring依赖:
配置spring Framework依赖,在http://www.spring.io/projects的download处找到maven的代码,粘贴到pom.xml中。

org.springframework
spring-context
5.0.8.RELEASE

手动导包:
commons-logging-1.1.1
spring-aop-5.0.4.RELEASE
spring-aspects-5.0.4.RELEASE
spring-beans-5.0.4.RELEASE
spring-context-5.0.4.RELEASE
spring-context-support-5.0.4.RELEASE
spring-core-5.0.4.RELEASE
spring-expression-5.0.4.RELEASE
spring-instrument-5.0.4.RELEASE
spring-instrument-tomcat-5.0.4.RELEASE
spring-jdbc-5.0.4.RELEASE
spring-jms-5.0.4.RELEASE
spring-messaging-5.0.4.RELEASE
spring-orm-5.0.4.RELEASE
spring-oxm-5.0.4.RELEASE
spring-test-5.0.4.RELEASE
spring-tx-5.0.4.RELEASE
spring-web-5.0.4.RELEASE
spring-webmvc-5.0.4.RELEASE
spring-webmvc-portlet-5.0.4.RELEASE
spring-websocket-5.0.4.RELEASE
4.2.创建Bean
该类的实例化通过ApplicationContext.xml或Beans.xml中的配置来实例化对象。
package com.zking;
public class HelloWorld {
private String message;
public void setMessage(String message){
this.message = message;
}
public void getMessage(){
System.out.println("Your Message : " + message);
}
}
4.3.创建Bean核心配置文件
Bean核心配置文件默认是applicationContext.xml,也可以改为Beans.xml。
用于给不同的Bean分配唯一的ID,并控制不同值的对象的创建,而不影响Spring的任何源文件。

在resource中创建spring配置文件:applicationContext.xml,主要用来配置实例化对象。
Spring配置文件允许有多个,例如:applicationContext-entity.xml,即配置entity包中的实例化对象。
创建步骤:
创建 -> 输入spring -> 选择Spring Bean Configuration File -> 输入配置文件

ApplicationContext.xml代码:

<?xml version="1.0" encoding="UTF-8"?>

4.4.测试
public class TestSpring{
@Befor
public void befor() throws Exception{
}
@After
public void after() throws Exception{
}
@Test
public void testSpring(){
//加载Spring配置文件:
//方式一:懒加载(延时加载)
//利用框架提供的XmlBeanFactory()去生成工厂bean以及利用ClassPathResource()去加载ApplicationContext.xml下可用的bean配置文件。XmlBeanFactory()负责创建并初始化所有对象,即在配置文件中提到的 bean。
XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(“applicationContext.xml”));
HelloWorld helloWorld = (HelloWorld)beanFactory.getBean(“helloWorld”);

  //方式二:及时加载(优秀)
   //ClassPathXmlApplicationContext容器从XML文件中加载已被定义的bean
   ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
   //从上下文是获得Bean对象
  HelloWorld helloWorld = context.getBean("helloWorld"); 
   helloWorld.getMessage();

/**

  • 懒加载与及时加载的区别:
  • (1)懒加载使用getBean()返回的对象只有一个,即单实例;
  • 及时加载使用getBean()返回的对象都是不同的对象,即多实例。
    
  • (2)懒加载在加载配置文件时,不会产生配置文件中的对象。
  • 及时加载在加载配置文件时,会将配置文件中所有的对象实例化。
    

*提示:一般使用及时加载,在服务器的Tomcat启动时加载一次,将配置文件中所有的对象都先实例化出来后,项目中直接取。
*/
}
}
第一步:使用框架ClassPathXmlApplicationContext()来创建应用程序的上下文。它加载beans的配置文件并最终基于所提供的API处理创建并初始化所有的对象,即在配置文件中提到的beans。
第二步:使用已创建的上下文件getBean()方法来获得所需的Bean。这个方法使用Bean的ID返回一个最终可以转换为实际对象的通用对象。一旦有了对象,就可以使用这个对象调用任何类的方法。

测试运行结果:
Your Message : Hello World!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EviaHp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值