Spring详细相关配置,及概念
Spring 快速入门
Spring Bean实例化三种方式
<bean id="UserDao" class="com.xunmeng.day_02.dao.Impl.UserDaoImpl"></bean>
<bean id="UserDao_gcj" class="com.xunmeng.day_02.dao.Impl.UserDaoImpl" factory-method="getUserDao"></bean>
Spring 注入数据的三种数据类型
Spring 引入其它配置文件
<import resource="applicationContext-xxx.xml"/>
Spring 配置数据源
- 1.1数据源的开发步骤
- 导入Spring框架
- ①导入数据源的坐标和数据库驱动坐标
- ②创建数据源对象
- ③设置数据源的基本链接数据
- 使用数据源获取链接资源和归还连接资源
Spring 注解
- 1.在Springxml配置注解扫描
- 2.在bean中添加注解
- 3.Spring注解
- @Configuration:用于指定当前类是一个Spring配置类
- @ComponentScan:用于制定Spring的xml在初始化容器时要扫描的包
- @Bean:使用在方法上,标注将该方法的返回值储存到Spring容器中
- @PropetySource:用于加载.properties文件的配置
- @Import:用于导入其他配置类
Spring 集成Junit
- 让SpringJunit负责创建Spring容器,但是需要将配置文件的名称告诉它
- 将需要进行测试Bean直接在测试类中进行注入
- Spring集成Junit步骤
- ①导入Spring集成Junit的坐标
- ②使用@Runwith注解替换原来的运行器
- ③使用@ContextConfiguration指定配置文件或配置类
- ④使用@Autowired注入需要测试的对象
- ⑤创建测试方法进行测试
Spring 集成web环境
- Spring集成web环境步骤
- ①配置ContextLoaderListener监听器
- ②使用WebApplicationContextUtils获得应用上下文
SpringMVC 文件上传
- 1.文件上传三要素
- 1.表单项type=”file“
- 2.表单的提交方式是post
- 3.表单的entype属性是多部分表单形式,以及enctype=“multipart/form-data”
- 2.单文件上传步骤
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.3</version>
</dependency>
<bean id="commonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxUploadSize" value="500000"></property>
</bean>
Spring SpringMVC拦截器-HandlerInterceport
SpringMVC 异常处理器
Spring AOP
- 使用注解方式配置步骤
- 1.先导对应的包aspectjweaver
- 2.创建对应的目标类和目标类实现的接口
- 3.创建切面类
- 4.注解配置:
- 1.先在目标类上加上@Component,放入Spring容器中
- 2.再在切面类上加上@Component和@Aspect放入Spring容器中,并表明他是一个切点
- 3.再把切点和通知织入一起,通知函数上加上@Before等通知注解标识。
-
- 测试
Spring 基于XML方式的声明控制
<!-- 配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"/>
<!--配置平台事务管理器-->
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 配置参数-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 通知 事务的增强-->
<tx:advice id="txAdvice" transaction-manager="dataSourceTransactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<!-- 配置事务的织入-->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.xunmeng.service.*.*(..))"></aop:advisor>
</aop:config>
Spring 基于注解方式的声明控制
- 1.配置步骤
- 1.将service层类加上@Component注解将其加入到Spring容器中,当然如果service要调用dao层,则dao层类也要加上@Component注解,将其加入到Spring容器中,以便于被注入导service中。
- 2.在spring.xml中配置相关平台事务管理器驱动,以便程序知道是那个给驱动。
<!--配置平台事务管理器-->
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--配置参数-->
<property name="dataSource" ref="dataSource"/>
</bean>
- 使用@transactional在需要进行事务控制的类上或是方法上修饰,注解可用的属性与xml配置方式一致,例如隔离级别、传播行为等。
- 2.注意点:
- 注解使用在类上,那么该类下的所有方法都使用同一套注解参数配置。
- 使用在方法上,不同的方法可以采用不同的事务参数配置。
- xml配置文件中要开启事务的注解驱动
<tx:annotation-driven transation-manager="{平台事务管理器id}"/>