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 {
/**
@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一下,再运行试试