博主简介
毕业于武汉工商,有着两年开发经验,从事全栈工作,从系统需求设计,开发,测试,部署一整套开发体系,熟悉常用的关系型数据库,MySQL、Oracle、SqlServer等 ,也了解部分NoSQL,包括Redis、MongoDB等。实习的时候从事Java开发,熟悉基本的前端框架。现在转型学python,力求做一些自己的小产品,目前把自己学的经验积累给大家。
如果愿意跟着我一起学习可以加入
QQ群 534893126
个人QQ 365926403
如遇个人技术问题可联系我哦
介绍
Spring框架是个轻量级的Java EE框架。所谓轻量级,是指不依赖于容器就能运行的。Struts、Hibernate也是轻量级的。
轻量级框架是相对于重量级框架而言的,重量级框架必须依赖特定的容器,例如EJB框架就必须运行在Glassfish、JBoss等支持EJB的容器中,而不能运行在Tomcat中。——《Java Web整合开发 王者归来》
Spring以IoC、AOP为主要思想,其中IoC,Inversion of Control 指控制反转或反向控制。在Spring框架中我们通过配置创建类对象,由Spring在运行阶段实例化、组装对象。AOP,Aspect Oriented Programming,面向切面编程,其思想是在执行某些代码前执行另外的代码,使程序更灵活、扩展性更好,可以随便地添加、删除某些功能。Servlet中的Filter便是一种AOP思想的实现。
Spring同时也是一个“一站式”框架,即Spring在JavaEE的三层架构[表现层(Web层)、业务逻辑层(Service层)、数据访问层(DAO层)]中,每一层均提供了不同的解决技术。如下:
表现层(Web层):Spring MVC
业务逻辑层(Service层):Spring的IoC
数据访问层(DAO层):Spring的jdbcTemplate
Spring中的IoC操作
将对象的创建交由Spring框架进行管理。
IoC操作分为:IoC配置文件方式和IoC的注解方式。
IOC实例:
Jar包以及配置文件下载
(一)配置方式之XML
1.首先有一个Hello类
package spring;
public class Hello {
public void say() {
System.out.println("Hello Spring");
}
}
2.先写Bean.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="hello" class="spring.Hello"></bean>
<!-- 这里是实例化一个实例名为hello的Hello类-->
</beans>
3.编写Test类
package spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
//通过读取配置文件来实例化一个对象,默认单例
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
Hello hello=(Hello)ac.getBean("hello");
hello.say();
}
}
结果: