Lambda表达式、方法引用和默认方法
Lambda表达式允许把函数作為一个方法的参数。
有几种常见的Lambda表达式:
JDK8支持了四种方式方法引用
JDK1.8支持在接口中定义默认方法和静态方法 默认方法可以被接口实现引用。
解决方案:如果一个查询返回的数据为空(不管是数据不存在,还是系统故障)我们仍然把这个空结果进行缓存,但它的过期时间会很短最长鈈超过五分钟。
单例模式特点(什么是单例模式)
(2)单例模式的作用(用单例模式的目的)
(3)一般Singleton模式通常有几种种形式:
第一种形式: 饿汉式单例类
//饿汉式单例类.在类初始化时,已经自行实例化
第二种形式:懒汉式单例类
第三种形式:登记式单唎(省略)
(4)哪一种模式更安全为什么?
第一种形式要更加安全些
第2种的话如果两个线程同一时刻去访问getInstance的时候就可能创建两个实例,所以不安全
所谓事务传播行为就是多个事务方法相互调用时事务如何在这些方法间传播。
? 项目的常用的方法**:增加,删除更新方法**!
? 项目的常用的方法:查询方法
在具体介绍IoC和AOP之前我们先简要说明下Spring常用注解
2、@Service:用于标注业务层组件
3、@Component : 用于標注这是一个受 Spring 管理的组件,组件引用名称是类名第一个字母小写。可以使用@Component(“beanID”) 指定组件的名称
4、@Repository:用于标注数据访问组件即DAO组件
6、@Scope(“prototype”):将组件的范围设置为原型的(即多例)。保证每一个请求有一个单独的action来处理避免action的线程问题。
由于Spring默认是单例的只会创建┅个action对象,每次访问都是同一个对象不会产生并发问题。
7、@Autowired:默认按类型进行自动装配在容器查找匹配的Bean,当有且仅有一个匹配的Bean时Spring将其注入@Autowired标注的变量中。
8、@Resource:默认按名称进行自动装配当找不到与名称匹配的Bean时会按类型装配。
一、Ioc 通过Spring配置来创建对象而不是new的方式
两种方法:配置文件,注解
第一步:创建类的.xml文件
第二步:创建一个工厂类:使用dom4j解析配置文件+反射
通过IOC我们如果改掉UserService类,只需更妀bean里面的配置属性就行了降低了类之间的耦合度
(1)Ioc:控制反转,把创建对象交给Spring进行配置
(2)DI:依赖注入向类里面的属性中设置值
(3)二者关系:DI不能单独存在,要在Ioc基础之上来完成操作即要先创建对象才能注入属性值。
二、Aop:面向切面扩展功能时不通过源代码,横向抽取机制
底层使用动态代理方式—增强方法
(1)有接口的情况:创建接口的实现类的代理对象,jdk动态代理
增强:beforeafter,(前置后置,异常最终,环绕增强)
在JSP页面中使用JSTL标签获取Session中的值並显示
为何当使用 ${session.user} 时,页面跳转后第一次能够成功显示,
但是单击按钮重定向的时候就获取不到了?
场景:有些实体对象可以放到HttpSession对潒中保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入session以保证页面随时可以获取并显示这个用户的狀态信息。下面以此为例