基于maven的ssm框架整合的示例代码

spring-data-commons.jar 学习spring data jpa的jar包,求分 立即下载

 

基本概念

1.1、Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.2、SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.3、MyBatis

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

第一步:通过maven建立一个web项目。

第二步:pom文件导入jar包

(1) pom.xml

我把我pom文件整个都拷贝来了,有些初始化就有的东西你要去掉,保留你自己pom生成的那份。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

 <modelVersion>4.0.0</modelVersion>

 <groupId>com.test</groupId>

 <artifactId>ssm</artifactId>

 <packaging>war</packaging>

 <version>0.0.1-SNAPSHOT</version>

 <name>ssm Maven Webapp</name>

 <url>http://maven.apache.org</url>

  

 <properties>

  <!-- spring版本号 -->

  <spring.version>4.0.2.RELEASE</spring.version>

  <!-- mybatis版本号 -->

  <mybatis.version>3.2.6</mybatis.version>

  <!-- log4j日志文件管理包版本 -->

  <slf4j.version>1.7.7</slf4j.version>

  <log4j.version>1.2.17</log4j.version>

 </properties>

  

 <dependencies>

 <dependency>

  <groupId>junit</groupId>

  <artifactId>junit</artifactId>

  <version>3.8.1</version>

  <scope>test</scope>

 </dependency>

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-core</artifactId>

   <version>${spring.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-web</artifactId>

   <version>${spring.version}</version>

  </dependency>

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-oxm</artifactId>

   <version>${spring.version}</version>

  </dependency>

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-tx</artifactId>

   <version>${spring.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-jdbc</artifactId>

   <version>${spring.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-webmvc</artifactId>

   <version>${spring.version}</version>

  </dependency>

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-aop</artifactId>

   <version>${spring.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-context-support</artifactId>

   <version>${spring.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-test</artifactId>

   <version>${spring.version}</version>

  </dependency>

  <!-- mybatis核心包 -->

  <dependency>

   <groupId>org.mybatis</groupId>

   <artifactId>mybatis</artifactId>

   <version>${mybatis.version}</version>

  </dependency>

  <!-- mybatis/spring包 -->

  <dependency>

   <groupId>org.mybatis</groupId>

   <artifactId>mybatis-spring</artifactId>

   <version>1.2.2</version>

  </dependency>

  <!-- 导入java ee jar 包 -->

  <dependency>

   <groupId>javax</groupId>

   <artifactId>javaee-api</artifactId>

   <version>7.0</version>

  </dependency>

  <!-- 导入Mysql数据库链接jar包 -->

  <dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

   <version>5.1.30</version>

  </dependency>

  <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->

  <dependency>

   <groupId>commons-dbcp</groupId>

   <artifactId>commons-dbcp</artifactId>

   <version>1.2.2</version>

  </dependency>

  <!-- JSTL标签类 -->

  <dependency>

   <groupId>jstl</groupId>

   <artifactId>jstl</artifactId>

   <version>1.2</version>

  </dependency>

  <!-- 日志文件管理包 -->

  <!-- log start -->

  <dependency>

   <groupId>log4j</groupId>

   <artifactId>log4j</artifactId>

   <version>${log4j.version}</version>

  </dependency>

    

    

  <!-- 格式化对象,方便输出日志 -->

  <dependency>

   <groupId>com.alibaba</groupId>

   <artifactId>fastjson</artifactId>

   <version>1.1.41</version>

  </dependency>

  

  

  <dependency>

   <groupId>org.slf4j</groupId>

   <artifactId>slf4j-api</artifactId>

   <version>${slf4j.version}</version>

  </dependency>

  

  <dependency>

   <groupId>org.slf4j</groupId>

   <artifactId>slf4j-log4j12</artifactId>

   <version>${slf4j.version}</version>

  </dependency>

  <!-- log end -->

  <!-- 映入JSON -->

  <dependency>

   <groupId>org.codehaus.jackson</groupId>

   <artifactId>jackson-mapper-asl</artifactId>

   <version>1.9.13</version>

  </dependency>

  <!-- 上传组件包 -->

  <dependency>

   <groupId>commons-fileupload</groupId>

   <artifactId>commons-fileupload</artifactId>

   <version>1.3.1</version>

  </dependency>

  <dependency>

   <groupId>commons-io</groupId>

   <artifactId>commons-io</artifactId>

   <version>2.4</version>

  </dependency>

  <dependency>

   <groupId>commons-codec</groupId>

   <artifactId>commons-codec</artifactId>

   <version>1.9</version>

  </dependency>

 </dependencies>

 <build>

 <finalName>ssm</finalName>

 </build>

</project>

第三步:看整体的项目架构,先说明下我这里还没有有关springMVC的相关东西,因为我先整合sping-mybatis,在测试是否成功,成功在整合springMVC

第四步:建立model类

?

1

2

3

4

5

6

7

public class User {

 private int id;

 private String name;

 private String password;

 private String password2;

/*提供set和get方法,toString方法*/

}

第五步:创建数据库,UserDao接口和mapper映射文件

(1)建立很简单的一张表

(2)UserDao接口

?

1

2

3

public interface UserDao {

  User findUserById(User user);

}

(3)UesrMapper.xml

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<?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">

<!-- namespace命名空间,指向UserDao全路径-->

<mapper namespace="com.ssm.dao.UserDao">

 

 <!-- 根据id查询用户信息 -->

 <!--

  id:唯一标识 一个statement,和UserDao方法名一致

  #{}:表示 一个占位符,如果#{}中传入简单类型的参数,#{}中的名称随意

  parameterType:输入 参数的类型,和UserDao()里参数一致

  resultType:输出结果 类型,和UserDao()返回类型一致

  -->

 <select id="findUserById" parameterType="com.ssm.model.User" resultType="com.ssm.model.User">

  SELECT * FROM USER

  <where>

  <if test="name != null">

   AND Name= #{name}

  </if>

  <if test="password != null">

   AND password= #{password}

  </if>

  </where>

 </select>

 </mapper>

第五步:创建UserService和UserServiceImpl

(1)UserService

?

1

2

3

public interface UserService {

  public User getUserById(User user);

}

(2)UserServiceImpl

?

1

2

3

4

5

6

7

8

9

10

11

12

import org.springframework.stereotype.Service;

import com.ssm.dao.UserDao;

import com.ssm.model.User;

import com.ssm.service.UserService;

@Service("userService")

public class UserServerImpl implements UserService {

 @Resource

 private UserDao userDao;

 public User getUserById(User user) {

  return this.userDao.findUserById(user);

 }

}

第六步:创建jdbc文件和log日志文件

(1)jdbc.properties

?

1

2

3

4

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc\:mysql\://localhost\:3306/test?useUnicode=true&&characterEncoding=UTF-8

jdbc.username=root

jdbc.password=root

(2)log4j.properties

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

log4j.rootLogger=INFO,Console,File

#定义日志输出目的地为控制台

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.Target=System.out

#可以灵活地指定日志输出格式,下面一行是指定具体的格式

log4j.appender.Console.layout = org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

  

#文件大小到达指定尺寸的时候产生一个新的文件

log4j.appender.File = org.apache.log4j.RollingFileAppender

#指定输出目录

log4j.appender.File.File = logs/ssm.log

#定义文件最大大小

log4j.appender.File.MaxFileSize = 10MB

# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志

log4j.appender.File.Threshold = ALL

log4j.appender.File.layout = org.apache.log4j.PatternLayout

log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

第七步:整合spring-mybatis.xml

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<?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:p="http://www.springframework.org/schema/p"

 xmlns:context="http://www.springframework.org/schema/context"

 xmlns:mvc="http://www.springframework.org/schema/mvc"

 xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-3.1.xsd

      http://www.springframework.org/schema/mvc

      http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

 <!-- 自动扫描 -->

 <context:component-scan base-package="com.ssm" />

 <!-- 引入实现jdbc配置文件 -->

 <bean id="propertyConfigurer"

  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

  <property name="location" value="classpath:jdbc.properties" />

 </bean>

  

 <!-- 2.数据库连接池 -->

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

  destroy-method="close">

  <property name="driverClassName" value="${jdbc.driver}" />

  <property name="url" value="${jdbc.url}" />

  <property name="username" value="${jdbc.username}" />

  <property name="password" value="${jdbc.password}" />

 </bean>

  

  <!-- spring和MyBatis整合,通过spring来管理MyBatis的SqlSessionFactory会话工厂 -->

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

  <!-- 指定数据库连接池引用 -->

  <property name="dataSource" ref="dataSource" />

  <!-- 自动扫描mapping.xml文件 -->

  <property name="mapperLocations" value="classpath:com/ssm/mapper/*.xml"></property>

 </bean>

  

 <!-- DAO接口所在包名,Spring会自动查找其下的类 -->

 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

  <property name="basePackage" value="com.ssm.dao" />

  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

 </bean>

  

 <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->

 <bean id="transactionManager"

  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

  <property name="dataSource" ref="dataSource" />

 </bean>

</beans>

第八步:建立测试类

经过以上步骤(log4j不配也没影响),我们已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。

测试类在src/test/java中建立,如果测试成功,表示Spring和Mybatis已经整合成功了。输出信息使用的是Log4j打印到控制台。

(1)TestMyBatis测试类

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

package ssm;

 

import javax.annotation.Resource;

 

import org.apache.log4j.Logger;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

 

import com.ssm.model.User;

import com.ssm.service.UserService;

 

/*让测试运行于Spring测试环境*/

@RunWith(SpringJUnit4ClassRunner.class)

 

/*用来指定加载的Spring配置文件的位置,会加载默认配置文件*/

@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })

 

public class TestMyBatis {

 

 @Resource(name = "userService")

 private UserService userService;

 

 @Test

 public void test1() {

  User user=new User();

  user.setName("张三");

  user.setPassword("123");

  User user1 = userService.getUserById(user);

  System.out.println(user1.toString());

 }

}

最后!关键看后台输出,也是见证奇迹的时候,如果输出对象那说明你配置整合成功!

那接下来我们开始整合springMVC

第九步:配置springmvc.xml

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

<?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:p="http://www.springframework.org/schema/p"

 xmlns:context="http://www.springframework.org/schema/context"

 xmlns:mvc="http://www.springframework.org/schema/mvc"

 xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-3.1.xsd

      http://www.springframework.org/schema/mvc

      http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->

 <context:component-scan base-package="com.ssm.controller" />

 <!--避免IE执行AJAX时,返回JSON出现下载文件 -->

 <bean id="mappingJacksonHttpMessageConverter"

  class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

  <property name="supportedMediaTypes">

   <list>

    <value>text/html;charset=UTF-8</value>

   </list>

  </property>

 </bean>

 <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->

 <bean

  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

  <property name="messageConverters">

   <list>

    <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->

   </list>

  </property>

 </bean>

 <!-- 定义跳转的文件的前后缀 ,视图模式配置-->

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->

  <property name="prefix" value="/WEB-INF/jsp/" />

  <property name="suffix" value=".jsp" />

 </bean>

   

 <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->

 <bean id="multipartResolver"

  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

  <!-- 默认编码 -->

  <property name="defaultEncoding" value="utf-8" />

  <!-- 文件大小最大值 -->

  <property name="maxUploadSize" value="10485760000" />

  <!-- 内存中的最大值 -->

  <property name="maxInMemorySize" value="40960" />

 </bean>

  

</beans>

第十步:配置web.xml文件

这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xmlns="http://java.sun.com/xml/ns/javaee"

 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

 version="3.0">

 <display-name>Archetype Created Web Application</display-name>

 <!-- Spring和mybatis的配置文件 -->

 <context-param>

  <param-name>contextConfigLocation</param-name>

  <param-value>classpath:spring-mybatis.xml</param-value>

 </context-param>

 <!-- 编码过滤器 -->

 <filter>

  <filter-name>encodingFilter</filter-name>

  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

  <async-supported>true</async-supported>

  <init-param>

   <param-name>encoding</param-name>

   <param-value>UTF-8</param-value>

  </init-param>

 </filter>

 <filter-mapping>

  <filter-name>encodingFilter</filter-name>

  <url-pattern>/*</url-pattern>

 </filter-mapping>

 <!-- Spring监听器 -->

 <listener>

  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

 </listener>

 <!-- 防止Spring内存溢出监听器 -->

 <listener>

  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

 </listener>

  

 <!-- Spring MVC servlet -->

 <servlet>

  <servlet-name>SpringMVC</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <init-param>

   <param-name>contextConfigLocation</param-name>

   <param-value>classpath:springmvc.xml</param-value>

  </init-param>

  <load-on-startup>1</load-on-startup>

  <async-supported>true</async-supported>

 </servlet>

 <servlet-mapping>

  <servlet-name>SpringMVC</servlet-name>

  <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->

  <url-pattern>/</url-pattern>

 </servlet-mapping>

 <welcome-file-list>

  <welcome-file>/index.jsp</welcome-file>

 </welcome-file-list>

  

</web-app>

第十一步最后测试:

(1) 先写login.jsp

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<%@ page language="java" contentType="text/html; charset=UTF-8"

 pageEncoding="UTF-8"%>

<html>

<head>

<title>用户登录:</title>

</head>

<body>

<form action="login">

<label>用户名:</label>

<input type="text" id="username" name="username"></input><br><br>

<label>密码:</label>

<input type="text" id="password" name="password"></input><br><br>

<input type="submit" value="登录"/>

</form>

</body>

</html>

界面:

(2)在写UserController

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.ssm.dao.UserDao;

import com.ssm.model.User;

@Controller

public class UserController {

 @Resource

 private UserDao userDao; 

@RequestMapping("/jsp/login")

public String login(HttpServletRequest request){

 String username=request.getParameter("username");

 String password=request.getParameter("password");

 User user=new User();

 //根据用户名和学生查询数据库

 user.setName(username);

 user.setPassword(password);

  User users=userDao.findUserById(user);

 //如果有学生就说明登录成功

 if(users!=null){

  return "susscss";

 }

 //这个jsp我没有写,大家知道就好,你们可以自己写

 return "err";

}

}

(3)最后susscss.jsp

?

1

2

3

4

5

6

7

<%@ page language="java" contentType="text/html; charset=UTF-8"

 pageEncoding="UTF-8"%>

<html>

<body>

<P>用户账号密码正确,登录成功</P>

</body>

</html>

完美!

 

spring-data-commons-1.12.11.RELEASE.jar 下载 spring-data-commons.jar spring-data-commons-core jar包下载 从 maven仓库中下载的官方jar包,放心使用 立即下载

相关推荐

maven插件制作示例代码

该实例手动创建一个maven插件并部署安装到本地仓库,然后测试并使用这个插件,博文地址: https://blog.youkuaiyun.com/u010476739/article/details/87454462

Spring Data Commons - 参考文档

Spring Data Commons 项目将核心 Spring 概念应用于使用许多关系和非关系数据存储的解决方案的开发。要定义存储库接口,您首先需要定义一个领域类特定的存储库接口。该接口必须扩展Repository并类型化为域类和 ID 类型。如果您想公开该域类型的 CRUD 方法,您可以扩展CrudRepository, 或其变体之一而不是Repository.您可以通过多种方式开始使用存储库界面。典型的方法是扩展CrudRepository,它为您提供了 CRUD 功能的方法。

wcuu的博客 4143

spring-data-commons-2.0.6.RELEASE-API文档-中文版.zip

赠送jar包:spring-data-commons-2.0.6.RELEASE.jar; 赠送原API文档:spring-data-commons-2.0.6.RELEASE-javadoc.jar; 赠送源代码:spring-data-commons-2.0.6.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-data-commons-2.0.6.RELEASE.pom; 包含翻译后的API文档:spring-data-commons-2.0.6.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.data:spring-data-commons:2.0.6.RELEASE; 标签:springframework、data、spring、commons、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

Spring Data Commons 之 Repository

2 Spring Data Commons 之 Repository Spring Data 对整个数据操作做了很好的封装,其中 Spring Data Common 定义了很多公⽤的接⼝和⼀些相对数据操作的公共实现(如分⻚排序、结果映射、Autiting 信息、事务等),⽽ Spring Data JPA 就是 Spring Data Common 的关系数据库的查询实现。 2.1 Spring Data Commons 的依赖关系 我们可以通过 maven 工具,来查看 Spring Data Comm

曾小二的博客 1468

spring-data-commons-2.5.5-API文档-中文版.zip

赠送jar包:spring-data-commons-2.5.5.jar; 赠送原API文档:spring-data-commons-2.5.5-javadoc.jar; 赠送源代码:spring-data-commons-2.5.5-sources.jar; 赠送Maven依赖信息文件:spring-data-commons-2.5.5.pom; 包含翻译后的API文档:spring-data-commons-2.5.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.data:spring-data-commons:2.5.5; 标签:springframework、data、spring、commons、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

spring-data-commons-1.12.5.RELEASE-API文档-中英对照版.zip

赠送jar包:spring-data-commons-1.12.5.RELEASE.jar 赠送原API文档:spring-data-commons-1.12.5.RELEASE-javadoc.jar 赠送源代码:spring-data-commons-1.12.5.RELEASE-sources.jar 包含翻译后的API文档:spring-data-commons-1.12.5.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:org.springframework.data,artifactId:spring-data-commons,version:1.12.5.RELEASE 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例...

在和Spring和MongoDB进行整合的时候需要如下三个jar,分别是: spring-data-commons spring-data-mongodb mongo-java-driver 下面讲解Spring和MongoDB2.x进行整合的Spring配置(下面案例以下面的方式进行说明:) Maven的Pom文件的配置如下: &lt...

weixin_33862188的博客 894

Halcon一维测量实战:从measure_pos与measure_pairs的底层原理到精准应用

本文深入解析Halcon中measure_pos与measure_pairs算子的底层原理与精准应用,涵盖参数调优、测量矩形方向设置及典型工业场景实战。通过对比分析,揭示两者在一维测量中的核心差异与适用场景,提供从基础到高级的完整解决方案,助力工业视觉检测精度提升。

weixin_42525551的博客 425

如何配置springdata框架

先进行pom.xml配置;pom配置有两种方式:一种是依赖maven库,另一种是lib,借用<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM

ruiguang21的博客 429

无刷电机控制避坑指南:六步换向 vs FOC的5个关键差异

本文深入对比了无刷电机控制中六步换向与FOC(磁场定向控制)的五大核心差异。从控制逻辑、性能表现、效率能耗、硬件成本到应用场景,详细解析了FOC如何通过矢量合成实现平滑的正弦波控制与更高效率,而六步换向则以低成本实现简单开关驱动。旨在帮助工程师根据项目需求,在性能、成本与复杂度间做出最佳选择。

weixin_29216957的博客 509

XTDrone平台FAST-LIO2与ego-planner结合路径规划部署

之前做了XTDrone平台FAST-LIO2的部署现在将其结合ego-planner进行导航规划,之前查看教程是使用视觉进行定位导航的,现在重新学习。修改advanced_param_xtdrone.xml,这里有视觉信息,不修改会报错显示为输入视觉话题信息。怎么描述 ,感觉当时觉得很难的问题突然就给解决了,一顿复杂,最近勤更新吧,继续开始学习。还有一个想法就是两个rviz结合在一起启动,写了一个demo,融合的不太好感觉额。改为只使用雷达点云,这里仿真的话题是/scan。

m0_56093217的博客 1083

maven整合ssm mysql_基于maven的ssm框架整合的示例代码

基本概念1.1、SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,...

weixin_36356002的博客 177

从真题到策略:浙江工业大学计算机转专业机试全解析与备考指南

本文全面解析浙江工业大学计算机转专业机试的考试概况、典型真题和高频考点,提供详细的备考策略和面试准备建议。从机试题目类型到解题技巧,帮助考生高效备考,顺利通过这一竞争激烈的转专业关卡。

weixin_42524824的博客 421

SSM框架代码整合示例非Maven管理项目

本真学习的精神自己学习搭建了一套SSM小框架,其中也遇到了很多难点,jar包超级难找,然后就是各种xml的配置很是闹心,历经艰难最终整合了一个小例子。 下面是项目代码结构图, 因为不善于言辞 ,我将代码放在了优快云上用以大家分享。 下面是项目运行界面 地址栏输入 localhost+端口号+ICN 输入账号密码后点击登陆按钮,账号密码填写具体你自己的数据库中的密码账号,会根据用户名去做一个检...

qq_32523703的博客 617

BMS硬件设计核心:安全、精度与EMC的工程平衡

电池管理系统(BMS)是保障锂电安全运行的关键嵌入式子系统,其本质是在高精度模拟测量、实时故障响应与复杂电磁环境适应性之间达成工程平衡。原理上,BMS依赖专用监测芯片(如BQ76920)实现微秒级硬件保护,结合主控MCU(如STM32)完成策略决策与通信管理,形成‘安全协处理器+智能主控’双架构。技术价值体现在对过压/欠压/过流/温度等多维故障的毫秒级闭环处置能力,支撑SOC/SOH估算可信度与系统鲁棒性。典型应用场景涵盖电动工具、轻型电动车及储能模块等中低串数电池组。本文聚焦BMS控制板在时钟布局、电源滤

weixin_30591519的博客 70

YOLOv12涨点改进 | 独家创新-注意力改进篇 | ECCV 2024 | YOLOv12引入AgentAttention代理注意力模块,兼顾 Softmax 和线性注意力优点,提高检测精度

🔥本文给大家介绍使用Agent Attention模块改进YOLOv12网络模型。其主要作用是通过引入高效的代理token来减少计算复杂度,同时保留全局上下文建模能力。相比传统的Softmax注意力,Agent Attention通过代理token聚合并广播信息,从而降低了模型在处理高分辨率图像时的计算负担,并显著提高了推理速度。其优势在于保持了目标检测中的全局信息处理能力,同时加速了生成过程,特别是在高分辨率场景下,可以提高检测精度、减少内存消耗,并提升处理速度。

Ai缝合怪、助力小伙伴高效发论文 155

SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架

目录 零、前言 一、说明 1、整合说明 2、最终目标 3、数据库准备 二、搭建整合环境 1、创建 maven 工程 2、导入依赖坐标 3、创建java和resources文件夹 4、创建类和接口文件 【1】创建存放 javabean 类文件:cn.star.domain.Users 【2】创建数据访问层 UsersDao 接口:cn.star.dao.UsersDao ...

ONESTARの博客 3万+

基于R-CNN深度学习的生活垃圾检测与分类系统:数据集、模型和UI界面的完整实现

我们将使用一个公开的垃圾分类数据集来训练我们的模型。一个常见的数据集是TACO数据集(Trash Annotations in Context),该数据集包含多种垃圾类别,适用于垃圾分类任务。TACO数据集中的图像标注了垃圾的类别以及其在图像中的位置,适合用于目标检测任务。图片数据:每张图片中包含不同种类的垃圾。标签文件:每个图像有相应的标签文件,标注了图像中垃圾的类别、位置(通常为边界框坐标)等信息。dataset/images/image1.jpgimage2.jpg......其中,

YOLO 1102

SSM--Spring、SpringMVC、Mybatis新三大框架MyEclipse项目搭建

SSM--Spring、SpringMVC、Mybatis新三大框架MyEclipse项目搭建   SSM三大框架随着互联网的发展,在非企业级应用开发领域其使用占比已经逐渐超过了原来的三驾马车SSH,其清晰的模块化,轻量级在追求效率的互联网项目开发中更占优势。   SSM框架项目一般基于Maven,通过Maven的jar包管理及其他工具,web项目的搭建和维护变得更加简便。   相比于Ecl...

ruixun8的博客 324

在MATLAB中将C语言代码转化为可执行的mexw64文件

这样,您可以将高效的C语言算法集成到MATLAB环境中,以便更好地利用MATLAB的功能和特性。请记住,在使用mex转换C语言代码之前,您需要正确编写和测试C语言代码,并确保它与MATLAB的mex接口兼容。MATLAB是一种功能强大的数值计算软件,它提供了一个机制,可以将C语言代码转化为MATLAB可执行的mexw64文件。在上述命令中,"-output"选项指定生成的mex文件的名称,"myfunction"是您选择的名称,"myfunction.c"是要编译的C语言源文件。步骤1:编写C语言代码。

CodeRoarX的博客 1427

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

maven的安装使用及maven整合SSM框架

一、Maven简介 1.Maven是什么 Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具 通过pom.xml文件的配置获取jar包,而不用手动去添加jar包 合理叙述项目间的依赖关系 2.Maven下载安装 Maven下载地址 安装:直接解压就可以,放在指定目录。后期写项目时选中这...

Janet的博客 1333

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

最全,最简单的SSM框架详细整合教程(Spring+SpringMVC+MyBatis)

传送门,原文地址 使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大...

念念不忘,必有回响 1340

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ssm框架 详细整合教程(spring+spring-mvc+mybatis)

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(

qq_38271183的博客 468

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

版权声明:尊重原创,转载注明出处! 目录(?)[+]         使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题

ChenSuoZhang的博客 682

SSM三大框架整合

(1)SSM是什么? Spring,SpringMVC,Mybatis (2)为什么要专门训练SSM 要开发一个项目,首先是搭建SSM环境,之后才能开发其他功能 (3)整合思路是什么? 1.先搭建整合的环境 2.先把Spring的配置搭建完成 3.再使用Spring整合SpringMVC框架 4.最后使用Spring整合MyBatis框架 (4) SSM整合可以使用多种方式,咱们会选择XML+注解的方式 SSM搭建环境 (1)数据库创建ssm (2)创建maven工程..

水巷石子的博客 4495

基于xml的SSM的整合

基于xml的ssm整合 前提,先搭建一个MAVEN-web项目,前面文章有说明。 这里初衷是为了快速搭建ssm,代码可以直接复制粘贴。 1.项目搭建后,从配置这一块开始整。先配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

weixin_41539721的博客 552
上一篇: SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
下一篇: SpringMVC学习笔记
DarlingRay
博客等级 码龄8年 7粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值