SSM注解式开发步骤

1.引入依赖

spring、mybatis、struts2、mybatis-spring、struts2-spring-plugin、mysql|oracle、fastjson、druid、servlet-api、log4j、jstl、junit、spring-test等。除此之外要引入lombok(注解式开发的jar)

2.安装lobmok插件

File | Settings | Plugins 搜索lombok,安装后重启idea

3.SM整合

①创建库表[外链图片转存失败(img-fIgR5qUB-1563088592263)(C:\Users\15620\Desktop\2019-07-14_112341.jpg)]
②开发实体类
@Data //添加set、get、toString、hashCode、equals
@AllArgsConstructor //有参构造
@NoArgsConstructor  //无参构造
@Accessors(chain=true)  //连锁set
public class User {private String id;private String name;private Integer age;private Date bir;
}

③开发DAO接口(由于每个实体类的DAO接口都有基本的增删改查方法,这里创建了baseDAO接口,每个接口只需要继承接口即可,简便了开发)

//BaseDAO接口的定义
public interface BaseDAO<T> {public List<T> selectAll();public void insert(T t);public void delete(String id);public void update(T t);
}
//UserDAO继承BaseDAO
public interface UserDAO extends BaseDAO<User>{}
④书写mapper文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.XXX.dao.UserDAO"><select id="selectAll" resultType="User">select id,name,age,bir from user</select><insert id="insert">insert into user values(#{id},#{name},#{age},#{bir})</insert><delete id="delete">delete from user where id=#{id}</delete><update id="update">update user set<if test="name!=null">name=#{name}</if><if test="age!=null">age=#{age}</if><if test="bir!=null">bir=#{bir}</if>where id=#{id}</update>
</mapper>
⑤创建service接口
public interface Userservice {//查询所有List<User> showAll();//添加void add(User user);//修改void update(User user);//删除void delete(String id);
}
⑥创建serviceImpl实现service接口,注入依赖
@Service("userService") //注解式管理service,括号内是给当前service起名,不命名则为默认
@Transactional  //注解式事务管理
public class UserServiceImpl implements Userservice {//依赖  使用注解自动注入依赖(每一个依赖前都要加上@Autowired)@Autowiredprivate UserDAO userDAO;@Override//建议将查询方法的事务属性设置为Propagation.SUPPORTS@Transactional(propagation = Propagation.SUPPORTS)public List<User> showAll() {List<User> users = userDAO.selectAll();return users;}@Overridepublic void add(User user) {}@Overridepublic void update(User user) {}@Overridepublic void delete(String id) {}
}
⑦spring.xml文件的配置
1).开启注解扫描 base-package指定需要扫描的文件夹,格式为“XXX.XXX”
<context:component-scan base-package="com.XXX"/>
2).创建数据源对象 使用DruidDataSource为了减少耦合性,将数据库表连接的信息放在db.properties文件中
<context:property-placeholder location="classpath:db.properties"/><bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource"><property name="driverClassName" value="${mysql.driverClassName}"/><property name="url" value="${mysql.url}"/><property name="username" value="${mysql.username}"/><property name="password" value="${mysql.password}"/></bean>
3).创建SqlSessionFactory(mybatis-config.xml内信息),使用SqlSessionFactoryBean。注入数据源、mapperlocation,也可以起别名
<!--注意mapperlocation文件的位置需要加classpath-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:com/XXX/mapper/*.xml"/><property name="typeAliasesPackage" value="com.XXX.entity"/>
</bean>
4).创建DAO对象,使用MapperScannerConfigurer.注入DAO位置
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" ><property name="basePackage" value="com.XXX.dao"/>
</bean>
5).创建事务管理器,使用DataSourceTranscationManager.注入数据源
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/>
</bean>
6).开启注解事务生效,这里也需要指定事务管理器即transaction-manager="transactionManager"如果事务管理器id为:transactionManager,可以省略不写
<tx:annotation-driven/>

4.SS整合

①创建action
@Controller //注解式管理
@Scope("prototype")  //spring默认为单例,需要将action切换为多例
public class UserAction {//依赖 注解式注入@Autowiredprivate Userservice userservice;private List<User> users;public List<User> getUsers() {return users;}public void setUsers(List<User> users) {this.users = users;}public String showAll(){users=userservice.showAll();return Action.SUCCESS;}
}
②配置web.xml 核心过滤器、context-param、listener
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><!--  配置全局参数:指定spring.xml的位置--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml</param-value></context-param><!--  配置核心过滤器--><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--  配置监听器:一旦启动项目就开启工厂--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
</web-app>

③配置struts.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<!--注意:class中不再是action的绝对路径而是首字母小写-->
<struts><package name="user" namespace="/user" extends="struts-default"><action name="showAll" class="userAction" method="showAll"><result>/showAll.jsp</result></action></package>
</struts>

ackage name=“user” namespace="/user" extends=“struts-default”>

/showAll.jsp

SSM(spring.struts2.mybatis)注解式开发步骤相关推荐

  1. @select注解_Mybatis基本知识十七:Mybatis注解式开发-单表注解式开发

    上一篇文章:<Mybatis基本知识十六:查询缓存之第三方查询缓存> 若文中有纰漏,请多多指正!!! 1.前言 使用Mybatis进行开发,不仅可以使用mapper配置文件进行开发,也可以 ...

  2. SSM框架之MyBatis3专题5:MyBatis注解式开发

    1 注解的基本知识 以下注解知识的讲解,均使用@Override.@Deprecated(过时).@SuppressWarnings举例. 1.1 注解的基本语法 注解后是没有分号的: 注解首字母是大 ...

  3. Spring Ioc注解式开发中注解的作用

    Spring Ioc注解式开发中注解的作用 目标:本章节注重于Spring Ioc的注解式开发之中注解的作用. 基于注解的DI实现IOC 1.定义bean而注解 a.@Component @Repos ...

  4. Shiro授权--注解式开发

    目录 一.授权角色,权限 UserMapper.xml 添加查询方法 UserMapper UserBiz UserBizImpl MyRealm  重新MyRealm 编写授权方法 配置文件  ap ...

  5. 【编程不良人】快速入门Spring学习笔记08---事务属性、Spring整合Structs2框架(SM)、Spring整合Mybatis+Struts2(SSM)、Spring注解、SSM注解式开发

    1. 事务属性 1.1 事务传播属性 配套视频:[编程不良人]快速入门Spring,SpringBoot.SpringCloud学不好完全是因为Spring没有掌握!_哔哩哔哩_bilibili # ...

  6. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一) 1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee ...

  7. Java语言开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线购物推荐网 购物商城推荐系统 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据.人工智能.机器学习项目开发ShopRec ...

  8. Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据.人工智能.机器学习项目开发Mus ...

  9. 使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户、物品的协同过滤推荐算法实现 大数据、人工智能、机器学习项目开发

    使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户.物品的协同过滤推荐算法实现 大数据.人工智能.机器学习项目开发Fo ...

最新文章

  1. PMP-【第2章 项目运行环境与项目经理】2021-1-4(49页-60页)
  2. Google Map API使用详解(七)——加载Google Map API URL的详细解读
  3. bufferedreader读取中文乱码_python字符乱码的解决小结
  4. Delphi判断文件是否正在被使用
  5. 回滚master代码_Git之master主干代码回滚
  6. 在sqlserver 中with(nolock)详解
  7. SQL 2005: @@identity 的妙用
  8. windowsSDK加速键实例分析
  9. 一起来玩AZURE SQL(一)AZURE SQL 介绍
  10. 每天都用微信聊天,但你可能不知道它还隐藏着这些超实用的功能
  11. 学习C# 3.0语法笔记(1)
  12. 重新leetcode第2天——递归讲解合集
  13. 登录 Jed_SH ELK 默认端口
  14. Debug工具的使用
  15. 西门子/软件/博途/TIA PORTAL V14 SP1
  16. mysql 防止网络爬虫_Nginx反爬虫策略,防止UA抓取网站
  17. 《不能承受的生命之轻》--米兰·昆德拉
  18. python验证码生成器_用Python实现随机验证码
  19. 深入理解Java虚拟机——Parallel Old收集器
  20. 我的世界服务器启动显示非正常,大佬们,HMCL启动提示非正常退出,请帮我看看怎么回事。...

热门文章

  1. php保存文件乱码,如何解决php保存文件乱码的问题
  2. java读pdf一行_java读与pdf白件的时分呈现非常
  3. docker 的安装以及简单centos镜像制作、启动
  4. 机器学习模型 非线性模型_pycaret在几分钟内准备好您的机器学习模型
  5. html怎么改变li前面的点,CSS定义li前面的小点样式
  6. 新篇章 每周分享第22期 (20180910~20180917)
  7. 数据中心解决方案之灾备方案设计(上)
  8. java编写扑克牌程序
  9. 【光电工程实训】几何光学 小孔成像 光的反射 光的折射 透镜成像
  10. 【笔记】Polygon mesh processing读书笔记(5)