idea下springboot工程 @Autowired注解属性报红编译不通过及部分相关问题的解决办法

7 篇文章 0 订阅
3 篇文章 0 订阅

最近使用idea在搭建一个springboot工程,在service层获取dao层接口实例的时候,使用@Autowired注解XXXMapper 编译不通过。

先上我的问题解决方法,对于运行正常的工程:

  • 方法1:idea-Settings-Editor-Inspections-spring core-code-Autowiring for bean class -Severity修改选择为Warning;
    在这里插入图片描述
  • 方法2:如果该注解的属性可以为null,设置@Autowired的required=false。因为这个默认是true,即为空就报错。在这里插入图片描述
  • 方法3:替换@Autowired为@Resource;用@Resource替换就是类似方法2原理,@Resource与其效果一样,都是获取实例,但是编译期默认可以为null。在这里插入图片描述
    这3个方法对我运行正常的工程有效;

另外,查到部分相关问题的解决方法,其实都是围绕这个注解原理查看配置是否完整。
原理

  • 在springboot 启动创建bean时,会对@Autowired注解的属性进行注入,即需要有相关bean注入。
    所以检查:
    • 1.对于XXXmapper需要配置扫描,@MapperScan(“xxx.xxx.mapper”)这里填写工程的mapper文件的包路径。不扫描,怎么知道东西在哪?就不能产生相应的bean。在这里插入图片描述
    • 2.或者在自定义配置的java类中配置扫描路径。
  • @Autowired默认是基于类型获取bean,有多个实现实例的时候就根据名称获取bean,如果注解的父类IUserService类型有多个子类UserServiceImpl01/UserServiceImpl02,那么该类的实例就有两个,这个时候需要指定类型,否则找不到唯一的类。比如我要01的,那么可以这样:
    • private IUserService userServiceImpl01;定义变量名称为子类类型,当然首字母小写。
    • 只想要private IUserService userServiceImpl怎么办?在该属性上面添加@Qualifier(“userServiceImpl01”)。
要搭建一个Spring Boot + iView的项目,可以按照以下步骤进行: 1. 首先,创建一个Spring Boot项目。可以使用Spring Initializer进行快速创建,选择适当的依赖,包括Spring Boot和其他需要用到的库。 2. 下载iView的相关文件,包括CSS和JavaScript等资源。可以从iView官方网站或者GitHub上找到下载链接,然后将这些资源文件保存到项目中的适当位置。 3. 在Spring Boot项目的配置文件中,配置静态资源的访问路径。可以使用Spring Boot提供的默认配置,将静态资源文件夹设置为"classpath:static",这样项目就可以访问到这些资源了。 4. 创建一个Spring MVC的Controller,处理前端请求并返回相应的数据。可以在Controller中使用@Autowired注解来注入需要的服务或组件。根据具体需求,定义不同的请求路径和方法,并编写相应的逻辑。 5. 开发前端页面,可以使用iView提供的UI组件进行页面的搭建。使用HTML、CSS和JavaScript等前端技术来编写页面,并与后端的Controller进行交互。可以通过AJAX或者其他方式向后端发送请求,并将返回的数据展示在页面上。 6. 运行项目,可以使用Maven或者Gradle等构建工具来进行项目的编译和运行。可以使用命令行或者集成开发环境来启动Spring Boot应用,并在浏览器中访问前端页面。 总之,搭建一个Spring Boot + iView的项目主要包括创建Spring Boot项目、配置静态资源、编写后端Controller、开发前端页面等步骤。关键是掌握Spring Boot和iView的相关知识,并熟悉前后端的交互方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值