Spring应用(一)
来源:互联网 发布:淘宝打不开店铺首页 编辑:程序博客网 时间:2024/04/28 06:57
相关资源:
1. spring功能介绍官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html
2. spring API文档:https://docs.spring.io/spring/docs/5.0.1.RELEASE/javadoc-api/
3. spring与其他java web框架整合的文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html
4.spring支持下的事务管理:https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#transaction
只是使用spring的bean管理
在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.hurricane.web</groupId><artifactId>spring</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>spring</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.10.RELEASE</version></dependency><!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies></project>
相应引入的jar包有:
spring相关(spring-context及其依赖):
1.spring-context-4.3.10.RELEASE.jar
2.spring-aop-4.3.10.RELEASE.jar
3.spring-beans-4.3.10.RELEASE.jar
4.spring-core-4.3.10.RELEASE.jar
5.commons-logging-1.2.jar
6.spring-expression-4.3.10.RELEASE.jar
日志相关(log4j及其依赖):
1.log4j-1.2.17.jar
测试相关(junit及其依赖):
1.junit-4.10.jar
2.hamcrest-core-1.1.jar
spring中使用AOP
1.当被应用aop的类是实现了一个接口,并且被pointcut匹配到的方法为接口中的一个方法时,spring会使用spring自己的实现(以jdk支持的代理为基础),生成该类的代理(proxy),来支持aop。
2.当被应用aop的类没有实现接口,那么为了给pointcut匹配到的方法应用aop,spring会使用cglib的实现(具体为操作生成的class字节码)。
ps.当某个实现了接口类中某个方法被应用aop,那么spring会为这个类生成代理,因此若是应用spring的API中的getBean(xxx.class)是无法得到相应的bean的,只能通过在spring容器中该bean的id,name来获取该bean。若某个类没有实现接口,那么是可以使用getBean(xxx.class)来获取bean的。
可以明确指定只是使用cglib生成代理,通过:
<aop:aspectj-autoproxy proxy-target-class="true"/>
使用spring的aop需要引入cglib的jar包,依赖如下:
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.11</version></dependency>
引入的jar为:aspectjweaver-1.8.11.jar,应用around的aop时,around方法中的ProceedingJoinPoint参数在该包中定义,因此必须引入,即使每个被代理的类都实现了接口。
spring中添加的配置:
<aop:aspectj-autoproxy/>
spring注解声明bean与自动注入
在spring的配置文件中声明:
<context:component-scan base-package=""/>这个配置的作用:
Scans the classpath for annotated components that will be auto-registered as Spring beans. By
default, the Spring-provided @Component, @Repository, @Service, @Controller, @RestController,
@ControllerAdvice, and @Configuration stereotypes will be detected. Note: This tag implies the
effects of the 'annotation-config' tag, activating @Required, @Autowired, @PostConstruct,
@PreDestroy, @Resource, @PersistenceContext and @PersistenceUnit annotations in the component
classes, which is usually desired for autodetected components (without external configuration). Turn
off the 'annotation-config' attribute to deactivate this default behavior。
- Spring应用(一)
- Spring简单应用(一)
- spring IOC简单应用(一)
- Spring在项目中的应用(一)
- Spring Boot系列:入门应用(一)
- Spring学习笔记(一)----Spring IOC配置与应用
- Spring boot 中Spring data JPA的应用(一)
- Spring Aop应用一例
- spring boot 一键开发spring应用
- AOP及其在Spring中的应用(一)
- AOP及其在Spring中的应用(一)
- Spring 注解学习手札(一) 构建简单Web应用
- AOP及其在Spring中的应用(一) .
- Spring 注解学习手札(一) 构建简单Web应用
- Spring 注解学习手札(一) 构建简单Web应用
- Spring 注解学习手札(一) 构建简单Web应用
- Spring 注解学习手札(一) 构建简单Web应用
- Spring 注解学习手札(一) 构建简单Web应用
- PHP获取当前文件的绝对路径
- 腾讯祭出大招VasSonic,让你的H5页面首屏秒开!
- 原来天猫双11不止可以买买买,还可以这样玩玩玩!
- Imageview上边圆角,下边直角
- 如何一键将 Sketch 转换成 PSD 源文件
- Spring应用(一)
- 微信请求工具类
- opencv2413+VS2013静态编译
- 文字高度的适配
- Linux下使用ps命令来查看Oracle相关的进程
- [Tensorflow] Session.run、model保存和optimizer优化器
- RSA破解作业
- Windows 通过以下参数找到端口的上运行的服务进程。
- C# 2.0 中的新特性