发表于: 2017-12-22 23:45:06

1 564


今天完成的事:




遇到的困难:

1、报错:Prohibited package name: java

     不能以java作为包名的开始,preDefineClass方法首先对类名进行了检查,发现以java作为一级包名,则抛出安全异常:禁止使用的包名! 


2、对动态代理这个概念理解不透彻,明天看看基础的部分,了解一下代理的概念以及优点。


3、今天已经不是跑三大框架整合的例子了,是跑spring+mybatis的例子,又回到任务一, 和spring相关的例子一直使用容器获取,没有用过用注释获取,今天尝试了一下,遇到问题。这个应该很简单,没有解决。

空指针异常。


明天计划:



收获:

1、@Service注解

在spring的配置文件中加上自动扫描包,如果该包下有@Service,则自动注册到spring容器,不需要在配置文件中再用bean注册了。@Service(),括号里的东西相当于注册bean时的id。

<context:component-scan base-package="com.jnshu.dao"/>
<context:component-scan base-package="com.jnshu.service"/>


2、MapperScannerConfigurer是spring和mybatis整合的mybatis-spring jar包中提供的一个类。

  首先了解一下MapperFactoryBean的作用:

我们创建一个MapperFactoryBean实例,然后注入这个接口和sqlSessionFactory(mybatis中提供的SqlSessionFactory接口,MapperFactoryBean会使用SqlSessionFactory创建SqlSession)这两个属性。

之后想使用这个UserMapper接口的话,直接通过spring注入这个bean,然后就可以直接使用了,spring内部会创建一个这个接口的动态代理。

当发现要使用多个MapperFactoryBean的时候,一个一个定义肯定非常麻烦,于是mybatis-spring提供了MapperScannerConfigurer这个类,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。



3、读取spring配置文件的两种方式

利用注解读取,可以指定多个配置文件,用逗号隔开

@ContextConfiguration(locations = {"classpath:applicationContext.xml"})

用容器读取

ApplicationContext ps = new ClassPathXmlApplicationContext("applicationContext.xml")


4、@RunWith

@RunWith(SpringJUnit4ClassRunner.class)

在使用所有注释前必须使用@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境

使用注释时候必须加上,spring-Mybatis不用注释则不加.


禅道:

http://task.ptteng.com/zentao/my-task.html



返回列表 返回列表
评论

    分享到