spring作用相关知识
-
MogonBook_Spring_SpringFramework一、Spring介绍 1.Spring概述: Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架: 从大小与开销两方面而言Spring都是轻量级的 通过控制反转(IoC)的技术达到松耦合的目的 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统服进行内聚性的开发 包含并管理应用对象的配置和生命周期,这个意义上是一种容器 将简单的组件配置、组合成为复杂的应用,这个意义上是框架 2.Spring作用: 容器 提供了对多种技术的支持,如(JMS,MQ支持,UnitTest等) AOP
-
Spring Bean 作用域Bean 的作用域当在 Spring 中定义一个 bean 时,你必须声明该 bean 的作用域的选项。例如,为了强制 Spring 在每次需要时都产生一个新的 bean 实例,你应该声明 bean 的作用域的属性为 prototype。同理,如果你想让 Spring 在每次需要时都返回同一个bean实例,你应该声明 bean 的作用域的属性为 singleton。Spring 框架支持以下五个作用域,分别为 singleton、prototype、request、session 和 global session,5种作用域说明如下所示,注意,如果你使用 web-aware ApplicationContext 时,其中三个是可用的。 作用域描述singleton在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,默认值prototype每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()request每次HTTP请求
-
Spring Bean的作用域管理Spring框架支持5种作用域,有三种作用域是当开发者使用基于web的ApplicationContext的时候才生效的下面就是Spring内置支持的作用域作用域描述单例(singleton)(默认)每一个Spring IoC容器都拥有唯一的一个实例对象原型(prototype)一个Bean定义可以创建任意多个实例对象请求(request)一个HTTP请求会产生一个Bean对象,也就是说,每一个HTTP请求都有自己的Bean实例。只在基于web的Spring ApplicationContext中可用会话(session)限定一个Bean的作用域为HTTPsession的生命周期。同样,只有基于web的Spring ApplicationContext才能使用全局会话(global session)限定一个Bean的作用域为全局HTTPSession的生命周期。通常用于门户网站场景,同样,只有基于web的Spring ApplicationContext可用应用(application)限定一个Bean的作
-
spring-bean的作用域1、spring定义了多种作用域,可以基于这些作用域创建bean:单例(Singleton):在整个应用中,只创建一次bean实例原型(Prototype):每次注入或者通过上下文获取bean时候,都会创建一个新的bean实例会话(Session):在Web应用中,为每个会话创建一个bean实例请求(Request):在Web应用中,为每个请求创建一个bean实例2、配置bean作用域基于注解@Component @Scope("prototype")public class Person1 { //...}基于XML<bean id="person1" class="com.cn.pojo.Person1" scope="prototype"></bean>3、单例作用域 在默认情况下,spring容器中的所
spring作用相关课程
-
JAVA 函数式编程 本课程以 Java 11 为编译环境,讲解了 Java 对函数式编程支持,以及用实战小例子演示如何使用函数式简洁优雅的直击问题核心逻辑。另,老师新作 《Spring Security+OAuth2 精讲 多场景打造企业级认证与授权》https://coding.imooc.com/class/455.html 也上线啦,课程中将结合前后端分离的权限管理应用,基于从单体到微服务的演进,精讲主流安全框架 Spring Security5.x 的核心技术,一站式覆盖目前企业主流认证授权的方方面面,感兴趣的同学,可以关注一下,欢迎撒花拍砖~~
讲师:接灰的电子产品 初级 13700人正在学习
-
使用Google Guice实现依赖注入 本课程将带领大家通过Google Guice来系统的学习DI思想中的绑定,注入,生命周期,aop等方面的技巧。并示范Guice和Spring Boot如何协作。对于熟悉Spring的同学,学完本课后可以了解两者异同,加深对DI和Spring的理解。不只是为了单纯教授Gucie的用法,而是以Guice为媒介,希望使同学们在编程能力上能有所提高。 双十一双重好礼相送: 第一重:课程加量不加价; 第二重:小伙伴们可以凭借好评召唤幸运之神;将从评价用户中抽取三名幸运之星,赠送价值:499美元折合人民币约:3500RMB,请看图二; 【抽奖结果将在16-20号之间通过评价回复公布】活动详情传送门:https://coding.imooc.com/class/evaluation/180.html#Anchor
讲师:ccmouse 高级 9894人正在学习
spring作用相关教程
- 2. Spring Security 用法简介 作为一个知名的安全管理框架, Spring Security 对安全管理功能的封装已经非常完整了。我们在使用 Spring Security 时,只需要从配置文件或者数据库中,把用户、权限相关的信息取出来。然后通过配置类方法告诉 Spring Security , Spring Security 就能自动实现认证、授权等安全管理操作了。系统初始化时,告诉 Spring Security 访问路径所需要的对应权限。登录时,告诉 Spring Security 真实用户名和密码。登录成功时,告诉 Spring Security 当前用户具备的权限。用户访问接口时,Spring Security 已经知道用户具备的权限,也知道访问路径需要的对应权限,所以自动判断能否访问。
- 2.2 使用 Spring MVC 模型组件 直接使用 HttpServletRequest 封装请求作用域级别的数据,不能说不好。但是,Spring MVC 存在的目的,就是为了简化开发者的工作,动不动就要 Spring 把底层的原生 API 弄出来,Spring MVC 存在的意义就不大了。HttpServletRequest 的功能是全方面的,存储数据可以说是它的副业,为了一个数据存储,把它搬出来,好像有点大材小用。其实,你可以告诉 Spring MVC ,我只要 HttpServletRequest 的存储功能。也就是说,只要 Spring MVC 引用出 HttpServletRequest 内置的 map 对象就可以了。好了!现在重构一下上面的实例,仅仅修改控制器 login()方法的代码。@RequestMapping(value="/login",method=RequestMethod.POST)public String login(User user,Map map) { if("mk".equals(user.getUserName()) && "123".equals(user.getUserPassword())) { map.put("loginUser", user); return "index"; } return "fail";}还是 2 个参数,user 参数就不啰嗦了。map 参数则是一个神奇的存在。在方法中一站,等于通知 Spring MVC ,帮我把某个作用域中的 map 对象引用出来。如前言中所述,作用域有 3 个级别,Spring MVC 怎么知道你要哪一个层面的作用域。既然没有明说,Spring MVC 引用出来的是请求作用域也就是 HttpServletRequest 的内置 map 对象。好了,你可以放心的和前面一样测试代码,在 index.html 页面中你将看到登录者的信息。搞了半天了,其实本质上是一样:一个直接把 HttpServletRequest 交给你用,一个仅仅只是把实现了存储的那一部分功能交给你。有句话叫做透过现象看本质,Spring MVC 只是对原生 Servlet 开发做了高级封装。如同端午节吃棕子,礼品盒再怎么高级、漂亮,打开后还是棕子。
- 3.1 使用 Spring Initializr 构建一个 Spring Boot 应用 Spring Boot 版本选择 2.2.5 , Group 为 com.imooc , Artifact 为 spring-boot-cors ,生成项目后导入 Eclipse 开发环境。
- 3. 会话作用域 Map、Model 、ModelMap、ModelAndView 这几个数据模型组件,默认情况下,其中所保存的数据都是请求作用域级别的。在很多应用场景下,需要数据在整个会话过程中都能访问到。比如登录者信息、购物车信息等。面对这种数据需求时,Spring MVC 又如何实现?你能想到的,Spring MVC 早就想到了。使用 @SessionAttributes 注解即可。@SessionAttributes 注解是类级别的注解,需要添加在控制器类的前面。@Controller@RequestMapping("/user")@SessionAttributes("loginUser")public class UserAction {@RequestMapping(value="/login",method=RequestMethod.POST) public ModelAndView login01(User user) { ModelAndView mv=new ModelAndView(); if("mk".equals(user.getUserName()) && "123".equals(user.getUserPassword())) { mv.addObject("loginUser", user); mv.setViewName("index"); return mv; } mv.setViewName("fail"); return mv;}}Tips: @SessionAttributes(“loginUser”) 中的属性名 loginUser 必须保持和 mv.addObject(“loginUser”, user); 中的 loginUser 名一样。从底层思维来讲, Spring MVC 即把数据保存到请求作用域中、也保存到会话作用域中。测试时,只需要在 index.jsp 中添加如下面的 EL 表达式,指明数据的作用域。<body> 我是首页 <br/> 请求作用域中得到当前登录者:${requestScope.loginUser.userName} <br/> 会话作用域中得到当前登录者:${sessionScope.loginUser.userName}</body>启动浏览器,打开登录页面,输入登录名、登录密码、点击登录,然后在浏览器中会看到无论是请求作用域、还是会话作用域中都可以获取到登录者的信息。
- 3.3 作用范围详解 单例模式单例大家都不陌生,Java 基础我们学过如何创建单例,而在 Spring 的容器中,bean 的作用范围如果是 singleton,那么表示容器中仅管理一个共享实例,该单个实例存储在 Spring 容器的缓存 map 集合中,所有的对象对于该实例的引用,都是从缓存的 map 中返回该对象的实例。结构图如下:图片解释:可以看到左侧的三个,是通过 bean 标签实例化的类,而在每个类中都有个 property 引入 accountDao 的依赖,右侧表示在内存中仅存在一个 dao 的实例,这也是默认的实例模式 —— 单例模式。原型模式原型模式 听起来比较模糊,解释的意思就是 —— 如果 bean 的作用范围如果是 prototype,那么表示 Spring 容器针对当前对象获取实例的时候,每次都会重新 new 一个对象,返回给调用者。结构图如下:图片解释:可以看到左侧的三个,是通过 bean 标签实例化的类,在每个类中都有个 property 引入 accountDao 的依赖。右侧存在一个 dao 的 bean 标签配置。而在配置的属性中,有一个 scope =prototype ,即是原型模式的作用范围。 每个类中已引入的依赖,Spring 的容器都是通过 class 重新 new 一个实例分别返回给调用者。其余模式request,session,application,等等作用范围工作使用中并不常见,这里不做描述。大家可自行查询资料。
- 2.1 使用 Spring Initializr 构建一个 Spring Boot 应用 Spring Boot 版本选择 2.2.5 , Group 为 com.imooc , Artifact 为 spring-boot-profile ,生成项目后导入 Eclipse 开发环境。
spring作用相关搜索
-
s line
safari浏览器
samba
SAMP
samplerate
sandbox
sanitize
saper
sas
sass
save
smarty模板
smil
smtp
snapshot
snd
snmptrap
soap
soapclient
soap协议