Spring框架的基本原理

一:spring基本概念

1)struts2是web框架,hibernate是orm框架

2)spring是容器框架,创建bean,维护bean之间的关系

3)spring可以管理web层,持久层,业务层,dao层,spring可以配置各个层的组件,并且维护各个层的关系


二:spring核心原理

1.IOC控制反转

概念:控制权由对象本身转向容器,由容器根据配置文件创建对象实例并实现各个对象的依赖关系。

核心:bean工厂


2.AOP面向切面编程

a.静态代理

根据每个具体类分别编写代理类

根据一个接口编写一个代理类

b.动态代理

针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类

三:简单的Spring入门案例

1.编写一个类:UserService

<span style="font-size:18px;">package com.cloud.service;
public class UserService {
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void sayHello(){
		System.out.println("hello:"+name);
	}
}</span>

2.编写核心配置文件:applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
		http://www.springframework.org/schema/mvc 
		http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.2.xsd 
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
	<!-- 在容器中配置bean对象 -->
	<!-- 下面这句等价于:UserService userService = new UserService() -->
	<bean id="userService" class="com.cloud.service.UserService">
		<!-- 等价于:userService.setName("SpringName"); -->
		<property name="name">
			<value>SpringName</value>
		</property>
	</bean>
</beans>

3.编写测试类:Test

<span style="font-size:18px;">package com.cloud.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.cloud.service.UserService;
public class Test {
	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService) ac.getBean("userService");
		userService.sayHello();
	}
}</span>

四:spring原理总结

1.使用spring ,没有new对象,我们把创建对象的任务交给spring框架
2.spring
实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护beanbean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可.

  • 13
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是主要的开源应用程序开发框架,它使得Java/J2EE开发更容易、效率更高。本书不仅向读者展示了Spring能做什么?而且揭示了Spring完成这些功能的原理,解释其功能和动机,以帮助读者使用该框架的所有部分来开发成功的应用程序。本书涵盖Spring的所有特性,并且演示了如何将其构成一个连贯的整体,帮助读者理解Spring方法的基本原理、何时使用Sping以及如何效仿最佳实践。所有这些都以完整的样本应用程序来举例说明。读完本书,读者将能够有效地在各种应用中(从简单的web应用程序到复杂的企业级应用程序)使用Spring。 作者:(美)约翰逊 译者:蒋培 Rod Johnsn是Spring框架的创始人,并且是Java和J2EE领域的著名专家。   Rod获悉民大学博士学位。他具有C/C++开发背景,从Java和J2EE发布以来就作为开发者、休系结构设计者和顾问涉足了Java和J2EE领域。   他撰写了两本最普及并最有影响力的J2EE书籍:《Expert One-on-one J2EE Design and Deuelo Pment》(Wrox,2002),和《J2EE without EJB》(Wrox,2004.与Juergen Hoelle合著)。这两本书在“敏捷J2EE的兴起和心变过度复杂的传统J2EE体系结构方面都起了得要作用。   Rod是Spring框架的共同领导之一。他的发言很受欢迎,并且经常出现在美国、欧洲和亚洲举行的Java重要活动中。了是一些JSR的专家组的成员,为Java社区发展计划(Java Community Process,JCP)EBTL。   他还具有在银行和金融、保险、软件、媒体等领域从事顾问的广泛经验。他是Interface21的CEO,Interface21是一家致力于提供专家级J2EE和Spring框架服务的咨询公司。他各极参与客户项目和Spring开发。
Spring Security 是一款基于 Spring 框架的安全框架,其基本原理可概括如下: 1. 认证(Authentication):Spring Security 提供了多种认证方式,包括表单认证、HTTP 基本认证、OpenID 认证、LDAP 认证等,可以根据具体需求进行选择。认证的目的是验证用户身份以及权限信息。 2. 授权(Authorization):Spring Security 支持基于角色的访问控制(Role-Based Access Control, RBAC)和基于资源的访问控制(Resource-Based Access Control, RBAC),通过授权可以限制用户访问资源的权限。 3. 过滤器链(Filter Chain):Spring Security 的核心就是一系列过滤器,这些过滤器组成了一个过滤器链,每个过滤器负责不同的安全功能。比如,UsernamePasswordAuthenticationFilter 是用来处理用户名密码认证请求的过滤器,AccessDecisionManager 是用来进行授权决策的过滤器等。 4. 安全上下文(Security Context):Spring Security 通过 SecurityContextHolder 来管理安全上下文,其中包括了认证信息、授权信息等。 5. 集成其他框架(Integration with Other Frameworks):Spring Security 可以和其他框架进行集成,比如 Spring MVC、Spring Boot、Spring Cloud 等,以实现更完善的安全保护。 综上所述,Spring Security 的基本原理是基于认证、授权、过滤器链、安全上下文以及集成其他框架等实现的,可以帮助开发者快速实现安全保护功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值