基于注解的spring3 + jdbc开发环境搭建

最近面试屡次被虐,不是自己不思进取,是不会总结,不会理清思路,以至于过不了多久就忘记关了,面试官随便问问傻眼,虽然有些东西是铺天盖地的多,但是从自己的脑子里出来的才是自己的,于是乎还是写下。

 

下面就写下spring mvc下开发的配置,因为弄了好几天没出来,说了确实丢人,

这里只是jdbc整合的部分,也是一直出错的部分,mvc的配置哪天我在黏上来

 

 

不知道为什么,在spring 3 里面注入

jdbcTemplate时候我在配置文件里引用dataSource熟悉老是报错,说我的property datasource is required.

我用的是spring 3.0.5,我查了好多资料,别人的这么配也是可以的。

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

dao:

 

但是我这却一直报这个错,不知道是不是在高版本里改了实现还是怎么说,后来我看一个spring视频的时候得到启示,

加了下面两个地方

jdbcTemplate要从dataSource里获取连接等信息是必然的,但是我就不明白为什么前面的版本可以这么写

现在的却为何不行。在UserDao里面配置dataSource的get方法就可以给jdbcTemplate注入dataSource.

 

上面这是jdbcTemplate源码里的构造函数,从上面可以看出,DataSource是从这里注入的,也就是你不提供

getDataSource方法也同样报错的缘故,因为虽然你注入了DataSource,但是没有提供dataSource的访问器函数,

spring无法给你的JdbcTemplate构造函数注入参数。所以提示你,dataSource is required,那为什么我在

jdbcTemplate的源码里看不到任何DataSource的属性呢,嘿嘿,请看下面两处你就明白了,

 

 

现在终于明白了为什么注入熟悉跟构造函数注入参数他都可以

博客已搬到http://marspring.mobi/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,这里提供一个基于 Spring Cloud+Spring Boot+Nacos+Dubbo+mybatis plus+RocketMQ+Sentinel+Seata+mysql 的项目手脚架搭建步骤: 1. 首先需要搭建一个 Spring Cloud 项目,可以使用 Spring Initializr 快速创建。选择 Spring Boot 版本和其他依赖项,如 Eureka、Zuul、Config 等。 2. 集成 Nacos 作为注册中心和配置中心。在 pom.xml 中添加相关依赖项,并在 application.yml 中配置 Nacos 服务地址和相关配置。 3. 集成 Dubbo 作为 RPC 框架。在 pom.xml 中添加 Dubbo 和 Zookeeper 相关依赖项,并在 application.yml 中配置 Dubbo 的相关信息。 4. 集成 mybatis plus 作为 ORM 框架。在 pom.xml 中添加 mybatis plus 相关依赖项,并在 application.yml 中配置 mybatis plus 的相关信息。 5. 集成 RocketMQ 作为消息队列。在 pom.xml 中添加 RocketMQ 相关依赖项,并在 application.yml 中配置 RocketMQ 的相关信息。 6. 集成 Sentinel 作为流量控制和熔断降级框架。在 pom.xml 中添加 Sentinel 相关依赖项,并在 application.yml 中配置 Sentinel 的相关信息。 7. 集成 Seata 作为分布式事务框架。在 pom.xml 中添加 Seata 相关依赖项,并在 application.yml 中配置 Seata 的相关信息。 8. 集成 mysql 作为数据库。在 pom.xml 中添加 mysql 相关依赖项,并在 application.yml 中配置 mysql 的相关信息。 9. 编写业务代码,并在 Dubbo 接口上添加 @DubboService 注解,实现业务逻辑。在需要分布式事务的方法上添加 @GlobalTransactional 注解,实现分布式事务。 10. 在需要流量控制的方法上添加 @SentinelResource 注解,实现流量控制和熔断降级。 11. 在需要使用 RocketMQ 的地方,调用 RocketMQTemplate 发送消息,并编写监听器接收消息。 12. 在需要使用 Seata 的地方,调用 Seata 提供的 API 实现分布式事务。 以上是一个简单的搭建步骤,具体的细节还需要根据项目实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值