SSH相关-基础知识

Spring相关

@Autowired

默认按类型匹配   byType 成员变量、set方法、构造方法

bean应当有且只有一个,没有报错 【没有或者多个都会报错BeanCreationException异常】

@Autowired(required = false)

即便bean不存在,也不报错,少用

@Qualifier 

注释指定注入 Bean 的名称 ,配合@Autowired 一起使用   byName  有益补充

JSR定义的注解需要生效的话:

<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>

@Resource

默认按名称匹配  name type 2个属性 使用哪个就按照哪个进行注入

【本质上和@Autowired功能一样】

@PostConstruct@PreDestroy

实现 InitializingBean/DisposableBean 接口来定制初始化之后 / 销毁之前的操作方法

<bean> 元素的 init-method/destroy-method 属性

这些方法就会在 Bean 初始化后或销毁之前被 Spring 容器执行

打在方法上,可以在多个方法上进行注解

上面的就是说,在XML配置下BEAN的定义,然后通过@注解的方式进行注入

那么能否把在XML中定义BEAN的配置也通过注解的方式进行呢?使用@Component注解达到目的。

@Component、@Service【业务层】、@Constroller【控制层】,它们分别用于软件系统的不同层次

@Repository 只能标注在 DAO 类上呢?这是因为该注解的作用不只是将类识别为 Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型

以上注解定义时可以指定BEAN的名称

通过在类上使用 @Repository、@Component、@Service 和 @Constroller 注解,Spring 会自动创建相应的 BeanDefinition 对象,并注册到 ApplicationContext 中。这些类就成了 Spring 受管组件。这三个注解除了作用于不同软件层次的类,其使用方式与 @Repository 是完全相同的。

在使用 @Component 注释后,Spring 容器必须启用类扫描机制以启用注释驱动 Bean 定义和注释驱动 Bean 自动注入的策略。

<context:component-scan base-package="X.Y.Z"/>   类包及其递归子包中所有的类都会被处理

Scope:

默认情况下通过 @Component 定义的 Bean 都是 singleton 的,如果需要使用其它作用范围的 Bean,可以通过@Scope 注释来达到目标

prototype 从 Spring 容器中获取 boss Bean 时,每次返回的都是新的实例

singleton 单例

在实现应用中,我们往往需要同时使用注释配置和 XML 配置,对于类级别且不会发生变动的配置可以优先考虑注释配置;而对于那些第三方类以及容易发生调整的配置则应优先考虑使用 XML 配置。Spring 会在具体实施 Bean 创建和 Bean 注入之前将这两种配置方式的元信息融合在一起。

@Lazy(true) 表示延迟初始化

SPRING事务相关

主要是存在于方法上: @Transactional(readOnly = true, propagation = Propagation.SUPPORTS)

REQUIRED(默认值):在有transaction状态下执行;如当前没有transaction,则创建新transaction;

SUPPORTS:如当前有transaction,则在transaction状态下执行;如果当前没有transaction,在无transaction状态下执行;

REQUIRES_NEW:创建新的transaction并执行;如果当前已有transaction,则将当前transaction挂起;

其实主要考虑的是这样的情况:

A 调用 B

如果A B处于同一个事务当中,那么需要保证如果B失败了,那么A也应该失败,否则就会不一致了

如果A处于一个事务S1当中,B处于另一个事务S2当中,那么如果B成功失败与否都不会影响A的执行的

readOnly=true:会告诉底层数据源,这个是一个只读事务,对于JDBC而言,只读事务会有一定的速度优化

-----------------------------------------------------

Struts相关

Action注解

@Namespace("/api/internal/vod-coupon")   注意是以/开头,还是不是以/开头的   命名空间

@ParentPackage("basePackage")  //指定父包

@Action("userAction")  //指定action的访问url    实际中一般打在方法上,实现一个ACTION中的多个方法响应多个URL

与Spring如何结合的:

struts拦截器:

    <filter>
        <filter-name>struts2Filter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
<filter-mapping>
        <filter-name>struts2Filter</filter-name>
        <url-pattern>*.action</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

Spring监听器:

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
       
    </listener>

Spring配置文件加载路径:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:applicationContext*.xml</param-value>
    </context-param>

参考博客:

http://blog.csdn.net/wk313753744/article/details/19920195

http://www.2cto.com/kf/201503/383399.html

-----------------------------------------------------

时间: 2024-10-07 23:37:59

SSH相关-基础知识的相关文章

网络连接相关基础知识笔记

一.常说的TCP/IP的含义 TCP/IP协议簇并不仅仅指TCP协议和IP协议,实际它包括了一系列协议组成的集合,如:TCP,IP,UDP,FTP,SMTP,DNS,ARP,PPP等 TCP与UDP协议都属于传输层协议,但有很大不同,TCP是面向连接的协议,提供的是可靠的数据流服务,TCP采用"带重传的肯定确认"机制来实现传输的可靠性,实现了一种"虚电路",因为从物理上来说,并不是真正在两台主机间建立了连接,这种连接只是存在于逻辑上的.最大的开销出现在通信前建立连接

深入理解mysql之BDB系列(1)---BDB相关基础知识

    深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数).1)数据存取子系统,2)事务子系统,3)锁子系统,4)内存池管理子系统,5)日志子系统. 在一个应用程序中,并不一定须要全然具备这5大子系统. 假设程序仅仅使用了数据存取子系统,它的体系结构如图1.2.在图1.2中,我们仅仅使了两个子系统:数据存取以及内存池子系统.(备注:另外三个子系统在B

图像增强相关基础知识

图像增强处理-1 图像增强是图像处理中一个重要的内容,在图像生成,传输或变换的过程中,由于多种因素的影响,造成图像质量下降,图像模糊,特征淹没,给分析和识别带来困难.因此,按特定的需要将图像中感兴趣的特征友选择地突出,衰减不需要的特征,提高图像的可懂度是图像增强的主要内容.图像增强不考虑图像降质的原因,而且改善后的图像也不一定逼近原图像,这是它与图像复原本质的区别.图像增强的主要目的有两个:一是改善图像的视觉效果,提高图像的清晰度:二是将图像转换成一种更适合人类或机器进行分析处理的形式,一边从图

【RAC】RAC相关基础知识

[RAC]RAC相关基础知识 1.CRS简介    从Oracle 10G开始,oracle引进一套完整的集群管理解决方案—-Cluster-Ready Services,它包括集群连通性.消息和锁.负载管理等框架.从而使得RAC可以脱离第三方集群件,当然,CRS与第三方集群件可以共同使用. (1).CRS进程 CRS主要由三部分组成,三部分都作为守护进程出现 <1>CRSD:资源可用性维护的主要引擎.它用来执行高可用性恢复及管理操作,诸如维护OCR及管理应用资源,它保存着集群的信息状态和OC

iOS蓝牙开发(一)蓝牙相关基础知识

原文链接: http://liuyanwei.jumppo.com/2015/07/17/ios-BLE-1.html iOS蓝牙开发(一)蓝牙相关基础知识: 蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0设备因为低耗电,所以也叫做BLE peripheral,central == 外设和中心,发起连接的时central,被连接的设备为peri

iOS蓝牙开发(一)蓝牙相关基础知识(转)

转载自:http://www.cocoachina.com/ios/20150915/13454.html 原文作者:刘彦玮 蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0设备因为低耗电,所以也叫做BLE peripheral,central == 外设和中心,发起连接的时central,被连接的设备为perilheral service an

SSD 相关基础知识

SDD 基础知识 SSD(Solid State Drives)是固态硬盘,使用闪存颗粒来存储数据,闪存又可分为NAND Flash和NOR Flash,通常所说的SSD硬盘都使用NAND Flash芯片来存放数据.NOR型存储内容以编码为主,其功能多与运算相关:NAND型主要功能是存储资料. Nor Flash:主要用来执行片上程序 优点:具有很好的读写性能和随机访问性能,因此它先得到广泛的应用: 缺点:单片容量较小且写入速度较慢,决定了其应用范围较窄. NAND Flash:主要用在大容量存

SQL学习(一)相关基础知识

RDBMS基础知识 1.数据库是按照数据结构来组织.存储和管理数据的仓库:数据库是一些关联表的集合. 2.数据表是数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格. 3.列:一列包含了相同的数据. 4.行:一行是一组相关的数据. 5.冗余:存储两倍数据,冗余降低了性能,但是提高了数据的安全性. 6.主键:主键是唯一的.一个数据表中只能包含一个主键. 7.外键:外键是用于关联两个表. 8.复合键:复合键将多个列作为索引健,一般用于符合索引. 9.索引:使用索引可快速访问数据库表中的特定信息

XML的相关基础知识分享(二)

前面我们讲了一下XML相关的基础知识(一),下面我们在加深一下,看一下XML高级方面. 一.命名空间 1.命名冲突 XML命名空间提供避免元素冲突的方法. 命名冲突:在XML中,元素名称是由开发者定义的,当两个不同的文档使用相同的原俗名时,就会发生命名冲突.例如:下面这个XML文档携带者某个表格中的信息: 1 <table> 2 <tr> 3 <td>Apples</td> 4 <td>Bananas</td> 5 </tr&g