缓存Spring本身不直接提供缓存功能的实现,但提供了对缓存功能的抽象:CacheManager:Cache的容器对象,获取Cache对象的入口:public interface CacheManager {Cache:它是Ehcache的核心类,它有多个Element,并被CacheManager管理。它实现了对缓存的逻辑行为。public interface Cache { 演示:Spring自带了上述接口的实现EhCacheCacheManager和EhCacheCache public cla ……
同学们有没有觉得之前的代码都是面向数据库的?仍然没有什么“业务逻辑”?我们以注册为例,说一说什么是业务逻辑:新注册用户会:生成一个随机的邀请码 获得系统赠予的积分:10个帮帮点系统会在新用户注册后30分钟内某一随机时刻掉落若干帮帮币邀请人会收到一个消息:xxx使用你的邀请码注册成功……系统会发送一封确认邮件到用户注册时填写的email,等待用户验证激活这些逻辑,都应该放到User.Register()方法中。简单赋值比如邀请人,在对象生成后立即设置private User invitedBy;邀请码在注 ……
继续贯彻“项目功能驱动”的原则,完成文章发布功能……filter和listener注册页面演示: 已经在“所有”地方(页面/springmvc-servlet.xml)设置了编码格式但仍然有汉字乱码问题 怎么解决呢?使用编码过滤器,在server.xml中配置:<filter><filter-name>characterEncodingFilter</filter-name><!-- 该过滤器由Java类org.springframework.web.filter ……
PRG模式log4jweb容器的加载顺序ServletContext -> ?context-param? -> listener -> filter -> servlet<context-param><param-name>log4jConfiguration</param-name><param-value>/WEB-INF/log4j2.xml</param-value></context-param>解 ……
开始通过ProdService将用户输入录入数据库……SpringBean复习:IoC和DISpringMVC是建立在Spring基础上的,除了SpringMVC,还有Springboot等框架。Spring的一个核心功能,就是自动生成对象,或者说将对象的创建权交给Spring管理。所以我们的代码可以写成这样:public class RegisterControler {private IUserService userService; //没有赋值@RequestMapping(method = ……
Spring控制反转(IoC)和依赖注入(DI)Inverse of Controller:目的,很多方式都可以实现。本来new一个对象,由源代码控制;反转成由外部(比如.xml文件)控制Dependency Injection:实现,实现IoC的一种方式。其实最开始都一样 (Martin Fowler改名)context:容器和eclipse环境 Marketplace安装完成:可以得到spring相关的jarMVC为什么需要Spring?HTTP请求需要由不同的Java对象予以处理,这些Java对象 ……
ModelAndView顾名思义,该对象应包含两部分内容:Model:ModelMap(继承自LinkedHashMap<String, Object>)类型的数据容器View:实际上可以是一个viewname,或者模板路径由标记了@RequestMapping的Handler method返回,交ViewResolver解析,生成HTML内容演示:查看源代码public ModelAndView Single() {ModelAndView mv = new ModelAndView();m ……
本质上能做什么?全家桶:framework/boot/MVC内核:IoC:Inverse of Control,控制反转AOP:Aspect Oriented Programming,面向切面编程??封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP 还解决一些系统层面上的问题,比如日志、事务、权限等对程序进行权限拦截和运行监控等功能将对象的创建权交给 Spring 去创建(而不是new)Java Bean在Java中,有很多 ……