SSM

java-spring-3

2018-11-29  本文已影响0人  落云和枫

一 Spring 常用注解

1.@Component 创建类对象,相当于配置</bean>

2. @Service 与@Component 功能相同,写在ServiceImpl 类上

3. @Respository 与 @Component,写在数据访问层类上

4. @Controller 与Component 功能相同,写在控制器上

5.Resource(不需要写对象的 get/set)方法

    5.1java中的注解

    5.2默认按照byName 注入,如果没有对象名称,按照byType注入,

    5.2.1建议把名称对象和spring容器中对象名相同

6.@Autowired(不需要写对象的get/set)

  6.1 spring的注解

   6.2 按照byType注入

7. @Value() 获取 properties 文件中内容

8. @Pointcut() 定义切点

9. @Aspect() 定义切面类

10. @Before() 前置通知

11. @After 后置通知

12. @AfterReturning 后置通知,必须切点正确执行

13. @AfterThrowing 异常通知

14. @Arround 环绕通知

二 自动注入

1. 在Spring配置文件中 对象名和ref=“id” id名相同使用自动注入,可以不配置<property/>

2.两者配置方法

    在<bean>中 通过 autowire="" 配置,只对这个<bean> 生效

    在<beans> 中通过default-autowrite ="" 配置,表当前文件中所有<bean> 都是全局配置内容

3. auto="" 可取值

    default:默认值,根据全局default-autowiire="" 值,默认全局和局部都没有配置情况下,相当于no

    no:不自动注入

    1. byName:通过名称自动注入,在Spring 容器中找到类的ID

   2.  byType:根据类型注入

        spring 容器中不可以出现两个相同类型的<bean>

    3. constructor : 根据构造方法注入

         根据对应参数的构造方法(构造方法参数中包含注入对象那个)

        底层使用byName,构造方法参数名和其他<bean>的id相同

三 Spring 中加载 properties 文件

    在 src 下新建 xxx.properties 文件

    在 Spring 配置文件中 先引入xmls:context,在下面添加,

        2.1如果需要记载多个配置文件逗号分隔

    <context:property-placeholder location="classpath:db.properties"/>

    3. 添加属性文件记载,并且在<beans>中开启自动注入注意的地方

        sqlSessoinFactoryBean 的 id 不能叫做sqlSessisonFactory

        修改

        把原来通过ref引用替换成vaule赋值,自动注入只能影响ref,不能影响vaule赋值

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

    <property name="basePackage" value="com.chen.mapper"></property>

    <property name="sqlSessionFactoryBeanName" value="factory"></property>

</bean>

    4. 在被 Spring 管理的类中通过@value("${key}") 取出properties 中内容

            添加注解扫描

    <context:component-scan base-package="com.chen.service.impl"></context:component-scan>

    4.2    在类中添加

        4.2.1 可以和变量名可以不相同

         4.2.2    变量类型任意,只要保证key 对应的vaule 能转换成这个类型就可以

@Value("${my.demo}")

private String test;


四 scope属性

1.<bean>的属性

2. 作用:控制对象有效范围(单例,多例)

3 <bean/> 标签对应的对象默认是单例的。

        3.1 无论获取多少次,都是同一个对象

4. scope 可取值

    4.1 singleton 默认值,单例

    4.2 prototype    多例,每次获取重新实例化

    4.3 request 每次请求重新实例化

    4.4 session 每个会话对象内,对象是单例的。

    4.5 application 在 application 对象内是单例

    4.6 global session spring 推出的一个对象,依赖于 spring-webmvc-portlet 类似于session

上一篇 下一篇

猜你喜欢

热点阅读