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+集群

内容概要:本文为《科技类企业品牌传播白皮书》,系统阐述了新闻媒体发稿、自媒体博主种草与短视频矩阵覆盖三大核心传播策略,并结合“传声港”平台的AI工具与资源整合能力,提出适配科技企业的品牌传播解决方案。文章深入分析科技企业传播的特殊性,包括受众圈层化、技术复杂性与传播通俗性的矛盾、产品生命周期影响及2024-2025年传播新趋势,强调从“技术输出”向“价值引领”的战略升级。针对三种传播方式,分别从适用场景、操作流程、效果评估、成本效益、风险防控等方面提供详尽指南,并通过平台AI能力实现资源智能匹配、内容精准投放与全链路效果追踪,最终构建“信任—种草—曝光”三位一体的传播闭环。; 适合人群:科技类企业品牌与市场负责人、公关传播从业者、数字营销管理者及初创科技公司创始人;具备一定品牌传播基础,关注效果可量化与AI工具赋能的专业人士。; 使用场景及目标:①制定科技产品全生命周期的品牌传播策略;②优化媒体发稿、KOL合作与短视频运营的资源配置与ROI;③借助AI平台实现传播内容的精准触达、效果监测与风险控制;④提升品牌在技术可信度、用户信任与市场影响力方面的综合竞争力。; 阅读建议:建议结合传声港平台的实际工具模块(如AI选媒、达人匹配、数据驾驶舱)进行对照阅读,重点关注各阶段的标准化流程与数据指标基准,将理论策略与平台实操深度融合,推动品牌传播从经验驱动转向数据与工具双驱动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值