36-SSM-1

1.声明

看的时候很容易,感觉很简单,实际操作过程又没那么容易,自己写代码,调试才是最好的,抽空要把IDEA的教程看一下,里面确实有很多东西不知道,比如怎么跑tomcat

2.接口加注释

现在才知道,在接口上面加注解是卵用没有的...

3.idea的容器

如果你写的代码没有问题,那么直接就可以看到你容器里面的各种bean

4.关于dtd

这个相当于是一个代码提示库,在没有网络的情况下,可以本地给你提示,但是今天的并不是这个原因,我也不知道为什么,带有“<>”这种标签的,会给你提示,但是假如你写了setting,然后在里面的name 和 value里面再写的时候,就没了提示。。。这我就暂时不管了吧,但是代码确实是可以跑起来的

5.总计2天时间的第一个ssm整合,就出现了不少问题。。。下面是所有的“坑”当然,估计只有我踩到

①ApplicationContext这个接口,在实际操作中实际上是不需要再像测试的时候这样写了的,直接就在这个server启动的时候自动给加载了,在这里仅仅是测试用

②路径问题:这里面所有的配置文件,只要不是base-package的,个人习惯吧,全部写file:全路径,这样子的话,配置文件,你想放哪里就放哪里,这个并不重要,放清楚地方就好了

③Junit的@Test,之前不知不觉,后来才发现,在这里,@Test的方法,是肯定不会是调用controller的。。。

因为spring-core(IOC)只管理service,dao,其他bean,不管理controller,既然是通过spring的配置文件拿到factoryBean的,那么肯定就无法拿到controller,所以在这里肯定是从factoryBean里面拿的service的bean。另外有一点,为什么Junit这里不启动tomcat,tomcat是一个服务器,你没有前端跟后端的交互,直接给了后端代码一个测试命令,根本就不需要tomcat,之后学习在IDEA里面配置tomcat是很有必要的。

④尽量,所有的bean都给一个id,尽量getBean的时候用name不要用class,怕出错

⑤springMVC容器和spring的IOC容器,我们从web.xml就可以看出来,springMVC的配置文件跟spring的配置文件都是写在web.xml里面的,只不过是加载顺序不同,首先加载的是spring的配置文件,后来加载servlet,也就是最重要的前端控制器DispatcherServlet的时候,才读springMVC的配置文件,所以...spring跟springMVC的容器是一种“父子容器关系”,但是spring是无法拿到,也无法操作springMVC里面的bean,也就是controller的,但是controller却可以用spring的bean,比如在controller里面使用service的filed service

⑥getBean(String)

@org.junit.jupiter.api.Test
public void testPerson(){
    ApplicationContext applicationContext = new FileSystemXmlApplicationContext("file:E:/zeroDemo/src/main/java/config/applicationContext.xml");
    PersonService personService=(PersonService)applicationContext.getBean("personService");
    Person person = personService.selectById(3);
    System.out.println(person);
}

getBean的时候,如果是通过name,那么在这里强转和得到的,必须要是service的接口,而并非serviceImpl,亲测,否则会报错,报错的是关于代理对象的exception

⑦spring整合mybatis

spring是可以跟mybatis进行非常好的整合的,整合位置就是sqlSessionFactory,我们在这里把1.mybaits-config 2.mapper.xml一起放在sqlSessionFactory这个bean里面配置,并且在spring的配置文件里面,我们要扫描非controller的bean,还要让

MapperScannerConfigurer

去扫描所有的dao的mapper接口

⑧web.xml的执行顺序

在后续很有可能会遇到关于web.xml执行顺序的坑,暂时先记录一下web.xml的执行顺序

context-param-->listener-->filter-->servlet

小结-->

            Spring的代码,最主要的内容在几个地方:

1.mapper里面写sql语句

2.service里面写事务tx(重点)

3.controller里面写接口

后台的工作还是很多的,先写几个项目把ssm写的有点熟练以后,开始搞springboot+集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值