Spring的大框架
初识Spring:
Spring作者:Rod Johnson
Spring框架由20个模块组成,这些模块分成六个部分,分别是Core Container,Data Access/Integration,Web,AOP,Instrumentation和Test.
Spring Core是框架的最基础的部分,提供了IoC特性。Spring Context为企业级开发提供了遍历和集成的工具。
Spring Aop是基于Spring Core的符合规范的切面编程的实现
Spring JDBC提供了提供了JDBC的抽象层,简化了JDBC编码
Spring ORM对市面上流行的ORM框架提供了支持
Spring Web为Spring在Web应用程序中的使用提供了支持
Spring 体系结构图:

最基础部分========Spring IoC
控制反转 (依赖注入) 面向对象编程的一种设计理念,降低程序代码之间的耦合度
先定义持久化方法:
public interface IUserBiz {
//隔离的作用
public void save(User user);
}
实现对User类的持久化操作
public class UserBiz implements IUserBiz {
private IDao dao;
public void save(User user) {
dao.save(user);
}
public void setDao(IDao dao) {
this.dao = dao;
}
}
用户业务类,实现对User功能的业务管理
public class UserServiceImpl implements UserService
{ private UserDao dao=new UserDaoImpl();
public void addNewUser(User user){
dao.save(user);
} }
bean文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
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
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--IOC-->
<bean id="happyService" class="cn.zixin.service.HappyService">
<!--DI 依赖注入-->
<property name="info" value="Spring"></property>
</bean> <!--准备一个彩色墨盒-->
<bean id="colorInk" class="cn.zixin.printer.ink.GrayInk"></bean>
<!--准备一个B5纸-->
<bean id="B5paper" class="cn.zixin.printer.paper.A5Paper"></bean>
<!--准备打印机-->
<bean id="printer" class="cn.zixin.printer.print.Printer">
<property name="ink" ref="colorInk"></property>
<property name="paper" ref="B5paper"></property> </bean> <!--dao-->
<bean id="UserDao" class="cn.zixin.aop.UserDao"></bean>
<!--service-->
<bean id="UserBiz" class="cn.zixin.aop.service.UserBiz">
<property name="dao" ref="UserDao"></property>
</bean>
<!--增强配置-->
<!--前置配置-->
<bean id="LoggerAfter" class="cn.zixin.aop.LoggerAfter"></bean>
<!--后置配置-->
<bean id="LoggerBefore" class="cn.zixin.aop.LoggerBefore"></bean> <!--Aop配置-->
<aop:config>
<aop:pointcut id="pointcut" expression="execution(* *..service.*.*(..))"></aop:pointcut>
<aop:advisor advice-ref="LoggerAfter" pointcut-ref="pointcut"/>
<aop:advisor advice-ref="LoggerBefore" pointcut-ref="pointcut"/>
</aop:config>
</beans>
使用<BEAN>的一个组件时 ---------- id用来访问的唯一名称 name属性指定
测试类:
package cn.zixin.test; import cn.zixin.aop.User;
import cn.zixin.aop.service.IUserBiz;
import cn.zixin.printer.print.Printer;
import cn.zixin.service.HappyService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; /**
* Created by benxin on 2017/7/22.
*/
public class FirstSpringTest { @Test
public void firstTest(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
HappyService service=(HappyService) context.getBean("happyService");
service.work();
}
@Test
public void firstTests(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
Printer printer = (Printer) context.getBean("printer");
printer.print();
}
@Test
public void aop() {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
IUserBiz biz=(IUserBiz)ctx.getBean("UserBiz");
User user=new User();
biz.save(user);
System.out.println("success!");
}
}
Spring的大框架的更多相关文章
- 3大框架Struts、Hibernate、Spring简单了解
3大框架:Struts.Hibernate.Spring 基本概念:Spring/Struts/Hibernate是干嘛用的? 三个框架产生的技术历史背景 学习前首先应该掌握的基础知识 学习一个开发框 ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Struts,spring,hibernate三大框架的面试
Struts,spring,hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3 ...
- Spring的JDBC框架
转自: http://www.cnblogs.com/windlaughing/p/3287750.html Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要 ...
- Spring Batch 批处理框架
<Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页 ...
- 图书简介:Spring Batch批处理框架
大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...
- 为什么使用spring Struts 等框架开发
转载自:http://www.cnblogs.com/sharpxiajun/p/3936268.html 今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入, ...
- Struts2+Spring+Hibernate 三大框架的合并集成
这次来看看Struts2+Spring+Hibernate三大框架的整合应用,主要是Spring和Hibernate框架的整合,因为前边已经将Strtus2+Spring整合过了基本一样. 首先看一 ...
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
随机推荐
- leetcode-54-螺旋矩阵
题目描述: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7 ...
- 4、Caffe其它常用层及参数
借鉴自:http://www.cnblogs.com/denny402/p/5072746.html 本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accu ...
- python全栈开发_day15_函数回调和模块
一:函数回调 def a(fn=None): print("run1") if fn: fn() print("run 2") def b(): print(& ...
- Spring Boot的Controller控制层和页面
一.项目实例 1.项目结构 2.项目代码 1).ActionController.Java: package com.example.controller; import java.util.Date ...
- Cassandra概念学习系列之Windows里下载且安装配置Cassandra(最新的3.11.1版本)(图文详解)
不多说,直接上干货! 最近我开始在windows环境中使用Cassandra,虽然在Cassandra站点的安装命令非常清楚和精简,我仍然在环境配置上遇到一些问题.所以我想为后来者分享下我的经验. ...
- 使用Thumbnailator处理gif图片时遇到java.lang.ArrayIndexOutOfBoundsException: 4096异常处理
环境 1.7.0_80 在使用Thumbnailator处理gif图片时,遇到问题: Exception in thread "main" java.lang.ArrayIndex ...
- Javac之关于方法的调用1
方法的调用从Attr类的visitApply()方法进入,如下: /** Visitor method for method invocations. * NOTE: The method part ...
- nginx安装及其配置详细教程
1 nginx 介绍 1 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 由俄罗斯的程序设计师Igor Sysoev所开发,官方 ...
- rspec中的let和let!区别
文档 https://relishapp.com/rspec/rspec-core/v/2-5/docs/helper-methods/let-and-let 从上面文档中得出 let 1 只会在一个 ...
- Java MySQL(SqlHelper)
1.配置文件为: driver=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/user_info user=root passwor ...