SSH spring注記方式ioc注入

6303 ワード

applicationContext.xml
スキャンパケットの場所を設定します.本人パケットディレクトリにcomなどの上位パケットは存在しませんが、base-packageは*を書くだけでエラーが発生するので、別々に構成する必要があります.

	<context:component-scan base-package="action" />
	<context:component-scan base-package="service.impl" />
	<context:component-scan base-package="dao.impl" />

struts.xml

	<constant name="struts.objectFactory" value="spring" />

action
Controller valueの値がstruts.xmlのaction classの値actionのscopeは必ず多例である
@Controller(value="userAction")
@Scope(value="prototype")
public class UserAction extends ActionSupport implements ModelDriven<User> {
	User user = new User();
	@Autowired
	private UserService userService;
}

	<action name="UserAction_*" class="userAction" method="{1}">

service.impl
サービスの値が言い訳で実現されるクラス名
@Service(value="UserService")
public class UserServiceImpl implements UserService {
	@Autowired
	private UserDao userDao;
}

dao.impl
@Repository(value="UserDao")
public class UserDaoImpl implements UserDao {
	@Autowired
	private SessionFactory sessionFactory;
}

注記の仕方はxmlのbeanを構成するスペースの大部分を省くことができます.