java.lang.NullPointerException
at com.atguigu.service.UserService.accountMoney(UserService.java:13)
at com.atguigu.test.test(test.java:13)
@Service
public class UserService {
@Autowired
UserDao userDao;
public void accountMoney(){
userDao.addmoney();
userDao.reducemoney();
}
}
public interface UserDao {
//增加钱
public void addmoney();
//少钱
public void reducemoney();
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
JdbcTemplate jdbcTemplate;
@Override
public void addmoney() {
String sql = "update t_account set money = money-? where username = ? ";
jdbcTemplate.update(sql,10,"mary");
}
@Override
public void reducemoney() {
String sql = "update t_account set money = money+? where username = ? ";
jdbcTemplate.update(sql,10,"lucy");
}
}
public class test {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
UserService userService = context.getBean("UserService", UserService.class);
userService.accountMoney();
}
}
因为在xml文件中进行自动注解扫描配置
context.getBean("UserService", UserService.class) ,自动默认是小写的,修改为"userService"
若是自行配置,注意与bean中一致即可如:
<bean id="Service" class="com.atguigu.service.BookService"/>
注意Template需xml引入
<!-- JdbcTemplate 对象 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入 dataSource-->
<property name="dataSource" ref="dataSource"></property><!--set方式注入-->
</bean>