Spring入门
来源:互联网 发布:linux人 编辑:程序博客网 时间:2024/06/07 05:49
一、Spring是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring的核心是控制反转(IOC)和面向切面编程(AOP),简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。
EE开发分成三层结构:
1、web层:Spring mvc
2、业务层:Bean管理(IOC)
3、持久层:Spring的JDBC模板。ORM(对象关系映射)模板用于整合其他的持久层框架
为什么学习Spring:
1、方便解耦,简化开发:Spring是一个大工厂,可以将所有的对象创建和依赖关系维护,交给Spring管理
2、AOP编程支持:Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事物的支持。
3、声明式事物的支持:只需要配置就可以完成对事物的管理,而无需手动编程
4、方便程序的测试:Spring岁Junit4支持,可以通过注解方便的测试Spring程序
5、方便集成各种优秀框架:其内部提供了对各种优秀框架(如Struts、Hibernate,Mybatis,Quartz(根据时间调度作业))等的直接支持。
6、降低JavaEE API的使用难度:Spring对JavaEE开发中非常难用的API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用的难度大大降低。
IOC:Iversion of Control 控制反转,指的是对象的创建权反转(交给)给Spring。作用是实现了程序的解耦和。
DI:Dependency Injection 依赖注入,需要有IOC的环境,Spring创建这个类的过程中,Spring将类的依赖的属性设置进去。
Spring中的工厂(容器):
1、ApplicationContext接口有两个实现类:
ClassPathXmlApplicationContext:从类路径下加载Spring的配置文件(主要使用)
FileSystemXmlApplicationContext:从硬盘绝对路径下加载Spring的配置文件
2、BeanFactory(过时):Spring原始接口,针对原始接口的实现类功能较为单一
Beanfactory和ApplicationContext的区别:
BeanFactory是在getBean的时候才会生成类的实例
ApplicationContext是在加载applicationContext.xml(容器启动)时候就会创建容器中配置的所有对象,并提供更多功能。
web开发中,使用applicationContext。在资源匮乏的环境可以使用BeanFactory。
二、创建web项目
1、引入Spring的开发包
每个模块对应lib下的一个jar包。红框中四个基本jar包:beans,core,context,expression。外加日志包
2、创建一个对象
package com.mytest;public class User {public String name;public Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}
3、书写配置注册对象到容器
①配置文件可放在任意位置,一般放在src目录下;配置文件名任意,一般使用applicationContext.xml
②引入约束
<!-- 将User对象交给Spring管理 --><bean name="user" class="com.mytest.User"></bean>
4、代码测试
package com.mytest.a_hello;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mytest.User;public class Demo {@Testpublic void fun1(){//1、创建容器对象ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");//2、向容器要User对象 User u = (User) ac.getBean("user");//3、打印User对象 System.out.println(u);}}
- Spring 入门
- Spring 入门
- Spring 入门
- Spring入门
- Spring入门
- Spring入门
- Spring入门
- Spring 入门
- spring 入门
- Spring入门
- Spring入门
- Spring入门
- Spring入门
- spring入门
- Spring入门
- spring 入门
- Spring入门
- Spring入门
- Redis
- Intellij Idea 免费激活方法
- map按key和按value排序
- Oracle EBS解决There are no active responsibilities available for this user(不存在适用于此用户的有效责任)
- Elasticsearch Java API 的使用(7)—多条件查询
- Spring入门
- ug nx8.0免费版下载 含64位/32位
- hive索引简单使用介绍
- jQuery的环境搭建
- windows远程服务器 上部署javaweb项目
- 【状压dp && 矩阵快速幂】 POJ
- Codeforces 851A && Round #432 Div. 2 A. Arpa and a research in Mexic
- Elasticsearch Java API 的使用(8)—Scroll (游标)API详解
- UNIX环境编程学习笔记(22)——进程管理之system 函数执行命令行字符串