springboot项目controller注入失败,空指针;单元测试没有问题

controller调用service、service调用dao 均报空指针问题

@Controller
public class TimeoutController extends AbstractController {

    @Autowired
    private LaoLuShiTangSkill laoLuShiTangSkill;

接口

 public interface LaoLuShiTangSkill {

service实现

import org.springframework.stereotype.Service;
 @Service
public class LaoLuShiTangSkillImpl implements LaoLuShiTangSkill {

    @Autowired
    private UserBehaviorRecordDao userBehaviorDao;
    @Autowired
    private SkillUseRecordDao skillUseRecordDao;
    @Autowired
    private LaoLuShiTangContentDao laoLuShiTangContentDao;

mapper

import org.apache.ibatis.annotations.Mapper;
 @Mapper
public interface UserBehaviorRecordDao {

/**

  • @author jins
  • @date on 2018/5/6.
    */

    @RunWith(SpringJUnit4ClassRunner.class)

    public class RedisTest {

    @Autowired

    private StringRedisTemplate stringRedisTemplate;

    @Test

    public void redisTest(){

    stringRedisTemplate.opsForValue().set("ceshi","redis");

    System.out.println(stringRedisTemplate.opsForValue().get("ceshi"));

    }

    }

dao有没有用@Mapper注解,另外确认一下@Service这个注解是spring包下的吗,其他的第三方包里也会有这个注解,不要用错了。

在确保所有注解 实体类 .xml文件都没有问题的情况下。可以检查下Maven打包的情况
可以尝试在POM加入下面的配置

src/main/resources

**/mapper/*Mapper.xml


<resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/mapper/*Mapper.xml</include>
                </includes>
</resource>

你service注解咋写的???你首字幕大写,你注入的对象是小写的!

看一下启动类里面 注解是不是加了 是不是没有扫描到包

xml 配置问题啊
例如加上
<!-- 自动扫描注解方式配置的hibernate类文件 -->


me.gacl.model

    <!-- 自动扫描注解方式配置的hibernate类文件 -->
    <property name="packagesToScan">
        <list>
            <value>me.gacl.model</value>
        </list>
    </property>

根据启动文件的路径创建控制层的文件,例如 myapp---
| controller
|
__TimeoutController.class

                                                                                                                                                                    |___Application.class

        在项目myapp 文件夹下的目录结构, springboot 在设别注解进行注册到容器中,controller,service, repository严格按照启动文件的同级目录下创建

根据启动文件的路径创建控制层的文件,例如
myapp
| controller
|
TimeoutController.class

                                                                          |___Application.class

    在项目myapp 文件夹下的目录结构, springboot 在设别注解进行注册到容器中,controller,service, repository严格按照启动文件的同级目录下创建

已经结果,谢谢大家的解答,这个项目和平常不太一样

先将工程clean一下,然后再用maven build一下,再运行试试