初识spring
spring是轻量级开源框架,就好像是被写好的公式套路,直接拿来用就好了。
学前准备:安装插件help->esclipse Marketplace->find: sts->Spring tools3+Spring tools4
help->esclipse Marketplace->find:my->myBatipse 1.2.2、
这是为了在敲代码中可以出现代码提示,这样敲起来就比较好了
搞清楚一些概念性的问题:
什么是maven?(用maven来帮我们管理项目与项目之间依赖的问题)
这个小姐姐讲得超详细的,包括maven的安装,环境变量配置等等:http://wenku.cyjzzd.com/a/132585##wk-more
什么是javabean?
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
总结 :必须要有包,空构造器,get/set,覆盖序列化接口
什么是spring?
开源框架,于2003 年兴起的一个轻量级的Java 开发框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级(资源消耗较低,运行速度较快)开源框架。
Spring功能非常强大,能够服务于j2ee开发过程的各个层面,对web开发中的各层都提供了自己的解决方案:
开发层:SpringMVC (Spring和SpringMVC之间,SpringMVC只是Spring的其中一个模块)
逻辑层:Bean管理,Aop,事务管理
数据层:SpringJDBCTemplate
spring框架图:
Spring两大核心技术:IOC/DI 控制反转/依赖注入 AOP 面向切面编程/面向方面编程
1 入门案例: IoC 控制反转(Inverse of Control)开发模式的转变
1.1 导入jar包
l 4 + 1 : 4个核心(beans、core、context、expression) + 1个依赖(commons-loggins…jar)
1.2 目标类
l 提供UserService接口和实现类
l 获得UserService实现类的实例
之前开发中,直接new一个对象即可。
学习spring之后,将由Spring创建对象实例–> IoC 控制反转(Inverse of Control)
之后需要实例对象时,从spring工厂(容器)中获得,需要将实现类的全限定名称配置到xml文件中
public interface UserService {
public void addUser();
} |
public class UserServiceImpl implements UserService {
@Override public void addUser() { System.out.println(“a_ico add user”); }
} |
1.3 配置文件
l 位置:任意,开发中一般在classpath下(src)
l 名称:任意,开发中常用applicationContext.xml
l 内容:添加schema约束
约束文件位置:spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\ xsd-config.html
<?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”> <!– 配置service <bean> 配置需要创建的对象 id :用于之后从spring容器获得实例时使用的 class :需要创建实例的全限定类名 –> <bean id=“userServiceId” class=“com.itheima.a_ioc.UserServiceImpl”></bean> </beans> |
1.4 测试
@Test public void demo02(){ //从spring容器获得 //1 获得容器 String xmlPath = “com/itheima/a_ioc/beans.xml”; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); //2获得内容 —不需要自己new,都是从spring容器获得 UserService userService = (UserService) applicationContext.getBean(“userServiceId”); userService.addUser();
} |