文章目录
- 1. 引言
- 2. SSM框架项目结构创建
- 2.1 目录结构
- 2.2 说明
- 3. 注解的应用
- 3.1 `@Controller`
- 3.2 `@Service`
- 3.3 `@Repository`
- 3.4 `@Autowired`
- 3.5 `@RequestMapping`
- 3.6 `@Select`、`@Insert`等
- 4. 结语
🎈个人主页:程序员 小侯
🎐CSDN新晋作者
🎉欢迎 👍点赞✍评论⭐收藏
✨收录专栏:Java框架
✨文章内容:创建与注解
🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗
1. 引言
SSM框架(Spring + SpringMVC + MyBatis)是一种广泛应用于JavaWeb开发的技术栈。其中,Spring负责管理应用程序的对象(IoC),SpringMVC负责处理用户请求和返回响应,MyBatis用于简化数据库操作。在SSM框架中,结构创建和注解的应用是关键的开发实践,本文将深入探讨这两个方面。
2. SSM框架项目结构创建
2.1 目录结构
一个良好的项目结构有助于提高代码的可维护性和可扩展性。下面是一个典型的SSM框架项目结构:
|-- src
| |-- main
| | |-- java
| | | |-- com
| | | | |-- example
| | | | | |-- controller // 控制层
| | | | | |-- dao // 数据访问层
| | | | | |-- service // 业务逻辑层
| | | | | |-- entity // 实体类
| | |-- resources
| | | |-- mybatis // MyBatis映射文件
| | | |-- spring // Spring配置文件
| | | |-- springmvc // SpringMVC配置文件
| |-- webapp
| | |-- WEB-INF
| | | |-- views // 视图层
| | | |-- web.xml // Web配置文件
|-- pom.xml // Maven配置文件
2.2 说明
- controller:控制层,接收用户请求并调用业务逻辑层处理。
@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/getUserById")public String getUserById(Model model, @RequestParam("id") int id) {User user = userService.getUserById(id);model.addAttribute("user", user);return "userDetail";}// 其他请求处理方法
}
- dao:数据访问层,与数据库交互,执行SQL语句。
@Mapper
public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(@Param("id") int id);@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")void addUser(User user);// 其他SQL语句映射方法
}
- service:业务逻辑层,处理业务逻辑,调用数据访问层。
@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public User getUserById(int id) {return userMapper.getUserById(id);}public void addUser(User user) {userMapper.addUser(user);}// 其他业务逻辑方法
}
- entity:实体类,与数据库表一一对应,用于封装数据。
public class User {private int id;private String name;private int age;// 省略getter和setter
}
- mybatis:存放MyBatis的映射文件,配置SQL语句和实体类的映射关系。
<!-- UserMapper.xml -->
<mapper namespace="com.example.dao.UserMapper"><select id="getUserById" resultType="com.example.entity.User">SELECT * FROM user WHERE id = #{id}</select><insert id="addUser" parameterType="com.example.entity.User">INSERT INTO user(name, age) VALUES(#{name}, #{age})</insert><!-- 其他SQL语句映射 -->
</mapper>
- spring:Spring框架的配置文件,包括数据源配置、事务管理等。
<!-- applicationContext.xml -->
<context:component-scan base-package="com.example" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><!-- 数据源配置 -->
</bean>
<!-- 其他Spring配置 -->
- springmvc:SpringMVC框架的配置文件,包括视图解析器、拦截器等。
<!-- springmvc-servlet.xml -->
<context:component-scan base-package="com.example" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 视图解析器配置 -->
</bean>
<!-- 其他SpringMVC配置 -->
3. 注解的应用
SSM框架广泛使用注解简化配置,提高开发效率。以下是一些常用注解的应用:
3.1 @Controller
用于标识一个类为SpringMVC的Controller,负责处理用户请求。
@Controller
@RequestMapping("/user")
public class UserController {// 请求处理方法
}
3.2 @Service
用于标识一个类为Spring的服务层组件,通常用于定义业务逻辑。
@Service
public class UserService {// 业务逻辑方法
}
3.3 @Repository
用于标识一个类为Spring的数据访问层组件,通常用于与数据库交互。
@Repository
public interface UserMapper {// 数据访问方法
}
3.4 @Autowired
用于自动装配Spring容器中的bean。
@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;// ...
}
3.5 @RequestMapping
用于映射请求路径,指定处理请求的方法。
@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("/getUserById")public String getUserById(Model model, @RequestParam("id") int id) {// 处理请求的方法}// ...
}
3.6 @Select
、@Insert
等
用于映射MyBatis的SQL语句,与XML配置文件相对应。
@Mapper
public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(@Param("id") int id);@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")void addUser(User user);// ...
}
4. 结语
通过良好的项目结构和注解的应用,SSM框架能够更好地发挥其优势,简化配置,提高开发效率。在实际项目中,可以根据具体需求进一步优化项目结构和灵活使用注解,以更好地满足业务需求。希望本文对于理解SSM框架的项目结构和注解的应用有所帮助。
后记 👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹