spring简介

spring框架:
核心功能专门用来创建对象和管理对象
以核心功能为基础衍生出来的spring的功能,为了使项目解耦/减少侵入
核心部分:
IOC控制反转
DI依赖注入
AOP面向切面编程
数据访问:transaction事务管理 springjdbc
控制反转的定义:
把new/创建的对象的控制权,反转给第三方spring容器来new/创建管理
spring把person实例化并存储给spring容器,什么时候需要就从spring容器中取出即可
过程:
1.创建项目
2.导入jar包:手动拷贝或maven管理

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tarena</groupId>
  <artifactId>testspring_xml</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-context</artifactId>
	  <version>4.3.7.RELEASE</version>
	</dependency>
  </dependencies>
  <build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.0.2</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<encoding>${project.build.sourceEncoding}</encoding>
			</configuration>
		</plugin>
	</plugins>
  </build>
</project>

3.创建java类 用spring容器来创建和管理java类对象
4.spring清单文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
    file:///c:/schema/beans/spring-beans-4.3.xsd" >
	<!--
	用静态工厂生产对象,并交给spring容器管理
	id="hello"  容器中的对象的id
	class="包名.类名" 普通的类
	factory-method="getObject"    类中有一个静态的方法,静态的方法要由程序员new出一个对象
	  -->                          
    <bean id="" 
          class="" ></bean>
	
</beans>

5.启动spring容器:
//初始化spring的容器,负责加载和解析spring的清单文件
//按照清单文件的内容,创建和管理对象,

AbstractApplicationContext context =
			    new ClassPathXmlApplicationContext("spring.xml");

or:

ApplicationContext context= new ClassPathXmlApplicationContext("spring.xml");

启动spring容器:加载和解析spring的清单文件,并按照清单文件的内容去工作
6.从spring容器中取出容器中的对象来使用
//去spring容器中寻找id为hello的对象,并取出
Hello hello=(Hello)context.getBean(“hello”);
hello.sayHello(“zhangsan”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring代理模式是指通过Spring框架提供的代理机制,在不修改原始对象源码的情况下,增强代码的功能。代理模式可以理解为一个中介,它给某个对象提供一个代理对象,并控制原始对象的引用,从而实现对原始对象的操作增强。在Spring中,代理模式主要用于实现AOP(面向切面编程)和IOC(控制反转)的功能。 静态代理是一种实现代理模式的方式。在静态代理中,代理对象和被代理对象之间存在强耦合关系,代理对象需要知道被代理对象的具体变量或方法才能进行调用。这种方式的适用性较弱,当需要代理多个对象时,需要创建多个代理对象,增加了工作量和维护成本。 与静态代理相比,JDK动态代理是Spring中更常用的方式。JDK动态代理利用Java的反射机制,在运行时动态生成代理对象,无需提前编写代理类。通过代理对象,可以在原始对象的方法执行前后插入增强逻辑,实现切面功能。这种方式更灵活,可以代理多个对象,减少了代码的冗余。 总结来说,Spring代理模式是通过Spring框架提供的代理机制,实现在不修改源码的基础上增强代码的功能。代理模式可以是静态代理或JDK动态代理,其中JDK动态代理是Spring中常用的方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [spring的代理模式](https://blog.csdn.net/weixin_43723296/article/details/125666513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [spring简介及代理模式](https://blog.csdn.net/dpf373521/article/details/98520401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Spring框架(五)—— Spring 框架代理模式](https://blog.csdn.net/baidu_27414099/article/details/104440425)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值