![](https://img-blog.csdnimg.cn/20200923183821546.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring
Spring
绣花针
心有猛虎,细嗅蔷薇
展开
-
Spring之核心IoC与AOP
一、简介Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供...原创 2018-08-15 09:05:28 · 1035 阅读 · 0 评论 -
Spring之事务管理(声明式)
一、XML方式的声明式事务管理1.配置事务管理器<beans> <!-- 引入属性文件--> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置C3P0连接池 --> <bean id="dataSource" class原创 2018-12-31 22:57:52 · 106 阅读 · 0 评论 -
Spring之整合Struts2
一、Action由Struts2自身创建1.在struts.xml中配置action <action name="user" class="com.mark.demo.UserAction" method="login"> <result name="success">/index.jsp</result>原创 2019-01-06 15:45:26 · 118 阅读 · 0 评论 -
Spring之整合Hibernate
一、在Spring的配置文件中,引入Hibernate的配置文件1.引入Hibernate的配置信息(为其创建sessionFactory) <!-- 引入Hibernate的配置的信息 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactory...原创 2019-01-06 16:14:33 · 115 阅读 · 0 评论 -
Spring之Hibernate延迟加载解决方案
一、问题描述由于事务管理在service层,开启事务及关闭事务都在service层。而Hibernate的延迟加载,会在对象真正使用的时候才会向数据发送SQL语句操作数据库。但是可能我们在Service层中并没有真正使用需要操作的对象,而是在Web层真正使用对象。由于在Web层Session已经关闭了,所以会报一个no session的错误,也就是延迟加载的问题。二、问题解决在we...原创 2019-01-06 17:05:53 · 497 阅读 · 0 评论 -
Spring之事务管理(编程式)
一、Spring事务管理APISpring进行事务管理的时候,首先平台事务管理器根据事务定义信息进行事务的管理,在事务管理过程中,产生各种状态,将这些状态的信息记录到事务状态的对象中。1.PlatformTransactionManager(平台事务管理器)Spring底层在进行事务操作时候,主要使用一个PlatformTransactionManager接口,它表示事务管理器,即真正...原创 2018-12-26 22:33:09 · 298 阅读 · 0 评论 -
过滤器(Filter)和拦截器(Interceptor)的区别
一、过滤器(Filter)1.含义它依赖于servlet容器,配置于web.xml。Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是设置字符集、控制权限、控制转向、做一些业务逻辑判断等。在实现上,基于函数回调,它可以对几乎所有请求进行过滤。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截...原创 2019-01-02 21:00:41 · 396 阅读 · 0 评论 -
Spring之Ehcache整合
一、简介EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开 源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。二、引入Jar包三 、配置文件ehcache.xml<?xml version="1.0" encoding="UTF-8"?>...原创 2019-01-02 21:01:50 · 108 阅读 · 0 评论 -
Spring之Ehcache缓存注解
一、@Cacheable(value,key,condition)1.说明主要针对方法配置,能够根据方法的请求参数对其结果进行缓存参数 解释 example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 例如: @Cacheable(value=”mycache”) @Cacheable(value={”cache1...原创 2019-01-02 21:02:22 · 558 阅读 · 0 评论 -
Spring之Mybatis整合
一、数据源交给Spring1.db.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8jdbc.username=rootjdbc.password=root2.spring管理数据源 <!...原创 2019-01-02 21:02:55 · 74 阅读 · 0 评论 -
Spring之AOP基于AspectJ的注解详解
一、Advice通知类型public class MyAspectXML{ @Before(value="execution(* com.mark.demo.UserDaoImpl.add(..))") public void checkPri(){ System.out.println("权限检验"); }}1.Before(前置通知)2...原创 2018-12-23 13:33:11 · 166 阅读 · 0 评论 -
Spring之JDK模板
一、Spring对持久层提供解决方案 Spring是EE开发的一站式的框架,有EE开发的每层的解决方案。Spring对持久层也提供了解决方案:ORM模块和JDBC的模板。二、JDK模板使用1.创建jdbc.properties数据库配置信息driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis...原创 2018-12-26 22:07:02 · 163 阅读 · 0 评论 -
Spring之AOP基于AspectJ的注解开发流程
一、编写目标类public Interface UserDao{ public void add(); public void delete(); public void edit(); public void find();}public class UserDaoImpl implements UserDao{ public void ad...原创 2018-08-23 15:06:29 · 329 阅读 · 0 评论 -
Spring之IoC与DI
一、IoC(控制反转)1.设计理念IoC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的...原创 2018-08-15 10:15:04 · 233 阅读 · 0 评论 -
Spring之工厂类(读取XML文件获取Bean实例对象)
一、工厂类结构图ApplicationContext工厂继承BeanFactory二、老版本工厂类BeanFactory 调用getBean的时候,才会生成类的实例三、新版本工厂类ApplicationContext加载配置文件的时候,就会将Spring管理的类都实例化新版本工厂有两个实现类1.ClassPathXmlApplicationContext(加载...原创 2018-08-15 14:38:12 · 757 阅读 · 0 评论 -
Spring之AOP基于AspectJ的XML开发流程
一、编写目标类public Interface UserDao{ public void add(); public void delete(); public void edit(); public void find();}public class UserDaoImpl implements UserDao{ public void ad...原创 2018-08-18 12:44:01 · 200 阅读 · 0 评论 -
Spring之XML开发中bean元素配置
<bean id="user" name="user" class="com.mark.test.User" scope="singleton" init-method="init" destroy-method="destory"></bean>一、元素约束1.id(唯一)根据id属性值得到配置对象。在Spring配置原创 2018-08-16 08:28:21 · 149 阅读 · 0 评论 -
Spring之AOP基于AspectJ的XML开发配置详解
一、Advice通知类型1.前置通知before--目标方法执行前需要增强的方法执行<aop:before method="checkPri" pointcut-ref="pt"/>2.后置通知after-returning--目标方法执行后需要增强的方法执行,可返还一个参数<aop:after-returning method="writeLog" poin...原创 2018-08-22 15:29:31 · 270 阅读 · 0 评论 -
Spring之DI属性注入实现方式
一、构造方法注入1.普通属性(constructor-arg name value (index type可选))index:构造函数的参数索引,如 index="0" 构造函数第一个参数type:构造函数的参数类型,如 type="java.lang.String"构造参数类型为String类型public class Car { private String nam...原创 2018-08-17 10:42:41 · 907 阅读 · 0 评论 -
Spring之分模块开发
一、加载配置文件时加载多个配置文件public void demo() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext1.xml","applicationContext2.xml"); //.... }二、一个配置文件中引入...原创 2018-08-17 13:19:04 · 193 阅读 · 0 评论 -
Spring之注解方式开发
一、传统XML方式 <!-- 将User对象交给spring容器管理 --> <bean name="user" class="com.mark.test.User"></bean>二、IoC注解方式(配置组件扫描)1.开启使用注解开发,配置组件扫描指定扫描base-package="包",需要使用注解(扫描时会扫描指定..原创 2018-08-17 14:18:16 · 150 阅读 · 0 评论 -
Spring之XML与注解混合开发
一、优缺点XML开发方式结构清晰,所有使用到类,注入值,类之间关系都可以在配置文件中一览无余,但是比较繁琐注解开发方式比较简洁,但是在后期维护时可能比较困难,所有使用到类,注入值,类之间关系都很难去梳理二、XML和注解混合开发(XML管理bean,注解负责DI属性注入) <!-- 混合开发模式,不在需要扫描类上面的注解 --><!-- <conte...原创 2018-08-17 15:53:45 · 352 阅读 · 0 评论 -
Spring之@PostConstruct 、@Autowired和Construct 顺序
一、BeanA@Servicepublic class BeanA { @Autowired private BeanB beanB; public BeanA() { System.out.println("这是Bean A 的构造方法"); } @PostConstruct private void init() ...原创 2019-01-29 08:44:22 · 936 阅读 · 0 评论