String是一个开源的框架
优良特性:
1、控制反转 IDC(对象的实例控制权交还给框架),使用权可以new创建,使用后不能直接new创建
2、依赖注入 DI(拿到的对象的属性,已经被注入相关值了,直接使用即可)
Junit常用注解
1、@Text测试方法,在这里可以测试期望异常和超出时间,单位是毫秒,
例如:期望时间 @Test(timeout = 1000)
期望异常:expected = NullPointerException.class空指针异常(把异常抛出去)
2、@Before : 初始化方法,会在@Test执行前执行
3、@After :释放资源,会在@Test执行后执行
4、@BeforeClass:所有测试执行前执行,只执行一次,且必须为 static void
5、@AfterClass :所有测试执行后执行,只执行一次,且必须为static void
6、@Ignore:忽略的测试方法
Junit4的单元测试用例执行顺序为:@beforeClass->@Before->@Test->@After->@AfterClass
每一个测试方法的调用顺序为:@Before->@Test->@After
Spring Bean 的配置方式
<bean> 元素的常用属性:重要的
scope:用于设定 Bean 实例的作用域,其属性值有 singleton(单例)、prototype(原型)、request、session 和 global Session。其默认值是 singleton
property:<bean> 元素的子元素,用于调用 Bean 实例中的 Set 方法完成属性赋值,从而完成依赖注入。该元素的 name 属性指定 Bean 实例中的相应属性名
ref :和 等元素的子元素索引,该元素中的 bean 属性用于指定对 Bean 工厂中某个Bean 实例的引用
value:和 等元素的子元素,用于直接指定一个常量值
list :用于封装 List 或数组类型的依赖注入
set :用于封装 Set 类型属性的依赖注入
map:用于封装 Map 类型属性的依赖注入
entry:元素的子元素,用于设置一个键值对。其 key 属性指定字符串类型的键值,ref或 value 子元素指定其值
基于Java注解的配置方式
1、@Component:可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),
并且可以作用在任何层次。使用时只需将该注解标注在相应类上即可,默认情况下生成的id名称为类名称的首字母小写。
2、@Repository:用于将数据访问层(DAO层)的类标识为 Spring 中的 Bean,其功能与@Component 相同。
3、@Service:通常作用在业务层(Service 层),用于将业务层的类标识为 Spring 中的 Bean,其功能与@Component 相同。
4、@Controller:通常作用在控制层,用于将控制层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。
5、@Autowired:默认按照 Bean 的类型进行装配。用于对 Bean 的属性变量、属性的 Set 方法及构造函数进行标注,配合对应的注解处理器完成Bean 的自动配置工作。
6、@Resource:其作用与 Autowired 一样。
其区别在于 @Autowired 默认按照 Bean 类型装配,而 @Resource 默认按照 Bean 实例名称进行装配。
7、@Resource :中有两个重要属性:name 和 type。Spring 将 name 属性解析为 Bean 实例名称,type 属性解析为 Bean 实例类型。如果指定 name属性,则按实例名称进行装配;如果指定 type 属性,则按 Bean 类型进行装配。
如果都不指定,则先按 Bean 实例名称装配,如果不能匹配,则再按照 Bean 类型进行装配;如果都无法匹配,则抛出 NoSuchBeanDefinitionException 异常。
8、@Qualifier :与 @Autowired 注解配合使用,会将默认的按 Bean 类型装配修改为按 Bean 的实例名称装配,Bean 的实例名称由 @Qualifier 注解的参数指定。
9、@value :给属性赋值
注入
P名称空间注入,本质就是属性注入 setter
1.导入P名称空间 xmlns:p="http://springframework.org/schema/p"
2.使用p:属性完成方式配置
|-值类型:p属性名=“值”
|-对象类型:p:属性名-ref="been名称"
String AOP知识点
面向切面编程,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面
最 流程的AOP框架有两个,SpringAOP和AspectJ
目标:对dao的方法进行切入
环绕
1. Before:在目标方法被调用之前做增强处理,@Before只需要指定切入点表达式即可
2. AfterReturning:在目标方法正常完成后做增强,@AfterReturning除了指定切入点表达式后,还可以
指定一个返回值形参名returning,代表目标方法的返回值
3. AfterThrowing:主要用来处理程序中未处理的异常,@AfterThrowing除了指定切入点表达式后,还
可以指定一个throwing的返回值形参名,可以通过该形参名来访问目标方法中所抛出的异常对象
4. After:在目标方法完成之后做增强,无论目标方法时候成功完成。@After可以指定一个切入点表达
式
5. Around:环绕通知,在目标方法完成前后做增强处理,环绕通知是最重要的通知类型,像事务,日志等都
是环绕通知,注意编程中核心是一个ProceedingJoinPoint