av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring4.3.7注解 @Autowired java.lang.NullPointerException

瀏覽:100日期:2023-12-31 16:34:17

問(wèn)題描述

UserAction中通過(guò)@Autowired注入U(xiǎn)serServiceImpl無(wú)效,得到對(duì)象為空UserAction.java

@Namespace('/')@ParentPackage('struts-default')@Controllerpublic class UserAction extends ActionSupport implements ModelDriven<User> { private User user = new User(); public User getModel() {return this.user; } // ***************************** @Autowired private UserService userService; @Action(value = 'userAction_add', results = { @Result(name = 'add', location = '/success.jsp') }) public String add() {this.userService.saveUser(user);return 'add'; }}

UserServiceImpl.java

@Servicepublic class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Transactional public void saveUser(User user) {this.userDao.save(user); } @Transactional public void updateUser(User user) {this.userDao.update(user); } @Transactional public void deleteUser(User user) {this.userDao.delete(user); } @Transactional(readOnly = true) public User findUserById(Integer id) {return this.userDao.findById(id); } @Transactional(readOnly = true) public List<User> findAllUser() {return this.userDao.findAll(); }}

配置文件

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:context='http://www.springframework.org/schema/context' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:aop='http://www.springframework.org/schema/aop' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd'> <!-- 掃描 com包--> <context:component-scan base-package='com'></context:component-scan> <context:annotation-config/> <!-- <context:property-placeholder location='classpath:redis.properties'/> <bean class='redis.clients.jedis.JedisPoolConfig'> <property name='maxIdle' value='${redis.pool.maxIdle}' /> <property name='maxTotal' value='${redis.pool.maxActive}' /> <property name='maxWaitMillis' value='${redis.pool.maxWaitMillis}' /> <property name='testOnBorrow' value='${redis.pool.testOnBorrow}' /> <property name='testOnReturn' value='${redis.pool.testOnReturn}' /> </bean> --><!-- 加載c3p0-db.properties --> <context:property-placeholder location='classpath:c3p0-db.properties' /> <!-- 配置dataSource數(shù)據(jù)源 --> <bean class='com.mchange.v2.c3p0.ComboPooledDataSource'><property name='driverClass' value='${jdbc.driverClass}'></property><property name='jdbcUrl' value='${jdbc.jdbcUrl}'></property><property name='user' value='${jdbc.user}'></property><property name='password' value='${jdbc.password}'></property> </bean><!-- 1 配置SessionFactory --> <bean class='org.springframework.orm.hibernate5.LocalSessionFactoryBean'><!-- 1.1 配置數(shù)據(jù)源 --><property name='dataSource' ref='dataSource'></property><!-- 1.2 其他配置項(xiàng) ,要使用hibernate全屬性名,如果hibernate.不要省略 --><property name='hibernateProperties'> <props><prop key='hibernate.dialect'> org.hibernate.dialect.MySQL5Dialect </prop><prop key='hibernate.show_sql'>true</prop><prop key='hibernate.format_sql'>true</prop><prop key='hibernate.hbm2ddl.auto'>update</prop><prop key='javax.persistence.validation.mode'>none</prop><prop key='hibernate.current_session_context_class'>thread</prop><prop key=''></prop> </props></property><!-- 配置實(shí)體類 --><property name='packagesToScan'> <list><value>com.entity</value> </list></property> </bean> <!-- 配置hibernate模板,必須使用模板 --> <bean class='org.springframework.orm.hibernate5.HibernateTemplate'><!-- 通過(guò)工廠獲得session,操作PO類 --><property name='sessionFactory' ref='sessionFactory'></property> </bean> <!-- 事務(wù)管理 --> <!-- 事務(wù)管理器,就是平臺(tái),spring工具產(chǎn)生, 依賴于使用 持久方案(hibernate、jdbc等) --> <bean class='org.springframework.orm.hibernate5.HibernateTransactionManager'><property name='sessionFactory' ref='sessionFactory'></property> </bean> <!-- 將事務(wù)管理注冊(cè)spring * proxy-target-class='true': 使用cglib * proxy-target-class='false':有接口將使用 jdk --> <tx:annotation-driven transaction-manager='txManager' /></beans>

問(wèn)題解答

回答1:

請(qǐng)保證UserServiceImpl在被掃描的包內(nèi)。

回答2:

注解的掃描有問(wèn)題

回答3:

我建議你看看UserDao是否正確注入,這條鏈子上有一個(gè)注入失敗了就會(huì)導(dǎo)致整體創(chuàng)建失敗

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国产精品久久久久久久久久 | 久久久久久久久久久高潮一区二区 | 精品国产精品 | 国产免费一区二区 | 国产精品中文字幕在线 | 国产日韩欧美激情 | 亚洲免费一区 | 日韩欧美中文 | 美女二区 | 亚洲性人人天天夜夜摸 | www.99热这里只有精品 | 福利片一区二区 | 青青草一区 | 亚洲一区二区精品视频在线观看 | 国产高清免费视频 | 九九久久久 | 欧美成人手机在线 | 成人免费网站www网站高清 | 日韩一区在线观看视频 | 国产精品久久久久久久久久久久久 | 欧美aa在线 | 亚洲视频在线一区 | 国产精品一区二区视频 | 你懂的在线视频播放 | 韩日一区二区三区 | 国产999精品久久久久久 | 天天看夜夜 | 欧美综合久久久 | 国产精品毛片在线 | 久久久精品视频一区二区三区 | 中文字幕第7页 | 欧美日韩精品一区 | 成年人黄色一级片 | 久久久天天 | 精品熟人一区二区三区四区 | 视频一区在线 | 亚洲精品乱码久久久久久9色 | 青娱乐国产 | 欧美mv日韩mv国产网站91进入 | 国产精品国产a级 | 成人福利视频 |