前言:
最近沒什么事做,搭個(gè)框架寫成博客記錄下來,拉通一下之前所學(xué)知識(shí).
話不多說,我們直接步入正題。
準(zhǔn)備工作:
1/安裝并配置java運(yùn)行環(huán)境
2/數(shù)據(jù)庫的安裝配置(mysql)
3/安裝并配置服務(wù)器(tomcat)
4/maven
5/ intellijidea的安裝配置(本人使用的主要軟件是intellijidea,沒用eclipse什么的)
6/ 使用intellijidea創(chuàng)建一個(gè)web app項(xiàng)目。
貌似就這些了吧
導(dǎo)包
不同于以往的導(dǎo)包,由于我們創(chuàng)建的是maven的webapp項(xiàng)目,所以現(xiàn)在只需配置下pomxml這個(gè)配置文件,系統(tǒng)會(huì)自動(dòng)到maven的中央倉庫去下載相應(yīng)的包.
本人的pom.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
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
|
<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>xrog</groupid> <artifactid>ssh</artifactid> <packaging>war</packaging> <version> 1.0 -snapshot</version> <name>ssh maven webapp</name> <url>http: //maven.apache.org</url> <!-- 本人將配置包的版本信息都統(tǒng)一放入此處,方便以后管理--> <properties> <springversion> 4.3 . 1 .release</springversion> <hibernateversion> 4.3 . 5 . final </hibernateversion> <jstlversion> 1.2 </jstlversion> <taglibversion> 1.1 . 2 </taglibversion> <servletversion> 3.0 -alpha- 1 </servletversion> <jsonversion> 1.9 . 13 </jsonversion> <jacksonversion> 2.5 . 0 </jacksonversion> <mysqlversion> 6.0 . 3 </mysqlversion> <c3p0version> 0.9 . 1.2 </c3p0version> <log4jversion> 1.2 . 17 </log4jversion> <fileuploadversion> 1.3 . 1 </fileuploadversion> <lombokversion> 1.16 . 10 </lombokversion> </properties> <dependencies> <!-- 單元測(cè)試 --> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version> 3.8 . 1 </version> <scope>test</scope> </dependency> <!-- spring--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-beans</artifactid> <version>${springversion}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${springversion}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${springversion}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-orm</artifactid> <version>${springversion}</version> </dependency> <!-- spring web + spring mvc--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>${springversion}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${springversion}</version> </dependency> <!-- hibernate配置--> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-core</artifactid> <version>${hibernateversion}</version> </dependency> <!-- hibernate 緩存, 視情況添加--> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-ehcache</artifactid> <version>${hibernateversion}</version> </dependency> <!-- jsp頁面使用的jstl支持--> <dependency> <groupid>jstl</groupid> <artifactid>jstl</artifactid> <version>${jstlversion}</version> </dependency> <dependency> <groupid>taglibs</groupid> <artifactid>standard</artifactid> <version>${taglibversion}</version> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>${servletversion}</version> <scope>provided</scope> </dependency> <!-- database數(shù)據(jù)庫連接 mysql包--> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysqlversion}</version> </dependency> <!-- 數(shù)據(jù)庫連接池--> <dependency> <groupid>c3p0</groupid> <artifactid>c3p0</artifactid> <version>${c3p0version}</version> </dependency> <!-- json數(shù)據(jù) 使springmvc可以返回json值 ,視情況添加--> <dependency> <groupid>org.codehaus.jackson</groupid> <artifactid>jackson-mapper-asl</artifactid> <version>${jsonversion}</version> </dependency> <!-- jackson可以輕松的將java對(duì)象轉(zhuǎn)換成json對(duì)象和xml文檔,同樣也可以將json、xml轉(zhuǎn)換成java對(duì)象--> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-core</artifactid> <version>${jacksonversion}</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-annotations</artifactid> <version>${jacksonversion}</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-databind</artifactid> <version>${jacksonversion}</version> </dependency> <!-- log4j配置, 視情況添加--> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>${log4jversion}</version> </dependency> <!--文件 上傳--> <dependency> <groupid>commons-fileupload</groupid> <artifactid>commons-fileupload</artifactid> <version>${fileuploadversion}</version> </dependency> <!-- lombok插件導(dǎo)包--> <dependency> <groupid>org.projectlombok</groupid> <artifactid>lombok</artifactid> <version>${lombokversion}</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalname>ssh</finalname> </build> </project> |
ok,配置后運(yùn)行下maven,就會(huì)自動(dòng)向中央倉庫下載相應(yīng)的包啦!(這個(gè)就不多說了)。
springmvc配置
我現(xiàn)在在這里把我配置后的結(jié)構(gòu)拿出來給你們看下
我們先配置下springmvc的配置:resources/meta-inf/spring-mvc.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
|
<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:mvc= "http://www.springframework.org/schema/mvc" xsi:schemalocation="http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans-4.1.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-4.1.xsd http: //www.springframework.org/schema/mvc http: //www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!-- 啟動(dòng)注解驅(qū)動(dòng)的spring mvc功能,注冊(cè)請(qǐng)求url和注解pojo類方法的映射--> <mvc:annotation-driven /> <!-- 對(duì)模型視圖名稱的解析,在請(qǐng)求時(shí)模型視圖名稱添加前后綴 --> <context:component-scan base- package = "com.ssh" /> <bean id= "viewresolver" class = "org.springframework.web.servlet.view.internalresourceviewresolver" > <property name= "viewclass" value= "org.springframework.web.servlet.view.jstlview" /> <property name= "prefix" value= "views/" /> <!-- 前綴 --> <property name= "suffix" value= ".jsp" /> <!-- 后綴 --> </bean> <!--這里是對(duì)靜態(tài)資源的映射--> <mvc:resources mapping= "/js/**" location= "/resources/js/" /> <mvc:resources mapping= "/css/**" location= "/resources/css/" /> <mvc:resources mapping= "/img/**" location= "/resources/img/" /> </beans> |
好了,我們現(xiàn)在修改下web.xml這個(gè)配置文件,完善下springmvc的配置, web.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
|
<?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" > <!-- 地址為http: //localhost:8080/ 顯示的默認(rèn)網(wǎng)頁--> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <!-- spring mvc config start--> <servlet> <servlet-name>spring</servlet-name> <servlet- class >org.springframework.web.servlet.dispatcherservlet</servlet- class > <init-param> <param-name>contextconfiglocation</param-name> <!-- 此處指向的的是springmvc的配置文件 --> <param-value>classpath:meta-inf/spring-mvc.xml</param-value> </init-param> <!--配置容器在啟動(dòng)的時(shí)候就加載這個(gè)servlet并實(shí)例化--> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- spring mvc config end--> </web-app> |
ok,springmvc配置完成,現(xiàn)在我們進(jìn)行一下測(cè)試吧
在controller層新建一個(gè)maincontroller,內(nèi)容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.ssh.controller; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; /** * created by xrog * on 2/1/2017.12:36 am */ @controller public class maincontroller { @requestmapping (value = "test" , method = requestmethod.get) public string test(){ // 實(shí)際返回的是views/test.jsp ,spring-mvc.xml中配置過前后綴 return "test" ; } } |
test.jsp網(wǎng)頁如下:
1
2
3
4
5
6
7
|
<html> <body> <center> <h2 style= "color: #ff261a;" > this is my test page!</h2> </center> </body> </html> |
重啟tomcat服務(wù)器, 然后瀏覽器訪問如下圖所示:
ps: tomcat默認(rèn)端口是8080,我更改了端口號(hào),如若你們?yōu)楦模_的訪問地址是localhost:8080/test
ok,成功訪問。
springmvc+spring整合
這個(gè)就十分簡單了, 配置applicationcontext.xml這個(gè)spring的配置文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<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:mvc= "http://www.springframework.org/schema/mvc" xsi:schemalocation="http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans-4.1.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-4.1.xsd http: //www.springframework.org/schema/mvc http: //www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!-- 自動(dòng)掃描 --> <context:component-scan base- package = "com.ssh" > <!-- 掃描時(shí)跳過 @controller 注解的java類(控制器) --> <context:exclude-filter type= "annotation" expression= "org.springframework.stereotype.controller" /> </context:component-scan> </beans> |
完善web.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
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" > <!-- 地址為http: //localhost:8080/ 顯示的默認(rèn)網(wǎng)頁--> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <!--加載spring的配置文件到上下文中去--> <context-param> <param-name>contextconfiglocation</param-name> <param-value> classpath:meta-inf/applicationcontext.xml </param-value> </context-param> <!-- spring mvc config start--> <servlet> <servlet-name>spring</servlet-name> <servlet- class >org.springframework.web.servlet.dispatcherservlet</servlet- class > <init-param> <param-name>contextconfiglocation</param-name> <!-- 此處指向的的是springmvc的配置文件 --> <param-value>classpath:meta-inf/spring-mvc.xml</param-value> </init-param> <!--配置容器在啟動(dòng)的時(shí)候就加載這個(gè)servlet并實(shí)例化--> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- spring mvc config end--> <!-- spring監(jiān)聽器 --> <listener> <listener- class >org.springframework.web.context.contextloaderlistener</listener- class > </listener> <!-- 字符集過濾 --> <filter> <filter-name>encodingfilter</filter-name> <filter- class >org.springframework.web.filter.characterencodingfilter</filter- class > <init-param> <param-name>encoding</param-name> <param-value>utf- 8 </param-value> </init-param> <init-param> <param-name>forceencoding</param-name> <param-value> true </param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> |
web.xml配置文件中更改了三處:引入spring配置文件 spring的監(jiān)聽器 以及 字符集過濾
ok,spring+springmvc配置完成,下面我們開始測(cè)試:
在service寫一個(gè)testserviceimpl實(shí)現(xiàn)testservice接口并實(shí)現(xiàn)其test()方法, 代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package com.ssh.service.impl; import com.ssh.service.testservice; import org.springframework.stereotype.service; /** * created by xrog * on 2/1/2017.12:58 am */ @service public class testserviceimpl implements testservice { public string test() { return "test" ; } } |
ps:這里注意寫@service注解
maincontroller控制器更改如下:
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
|
package com.ssh.controller; import com.ssh.service.testservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import org.springframework.web.bind.annotation.responsebody; /** * created by xrog * on 2/1/2017.12:36 am */ @controller public class maincontroller { @autowired private testservice testservice; @requestmapping (value = "test" , method = requestmethod.get) public string test(){ // 實(shí)際返回的是views/test.jsp ,spring-mvc.xml中配置過前后綴 return "test" ; } @requestmapping (value = "springtest" , method = requestmethod.get) public string springtest(){ return testservice.test(); } } |
控制器這里我們運(yùn)用了spring的依賴注入自動(dòng)裝配。
在瀏覽器中輸入地址調(diào)用springtest方法
yes,成功返回,說明我們之前的配置沒問題
spring+springmvc+hibernate整合
好了,現(xiàn)在就缺hibernate這個(gè)框架了。。 我先給大家看些我搭建好之后的結(jié)構(gòu)圖吧
我們想來編寫config.properties這個(gè)配置文件,里面存放的是hibernate的一些配置
1
2
3
4
5
6
7
8
9
10
|
#database connection config jdbc.driver = com.mysql.jdbc.driver jdbc.url = jdbc:mysql: //?????:3306/ssh?useunicode=true&characterencoding=utf-8 jdbc.username = root jdbc.password = ??? #hibernate config hibernate.dialect = org.hibernate.dialect.mysqldialect hibernate.show_sql = true hibernate.format_sql = true hibernate.hbm2ddl.auto = update |
這里連接數(shù)據(jù)庫的參數(shù)由于我是連接我晚上的數(shù)據(jù)庫,因此我數(shù)據(jù)庫地址和密碼打了“???”,你們連接時(shí)改成自己本地的就ok了
下面配置hibernate,這里我為了方便,就直接寫進(jìn)applicationcontext.xml里面。配置后的applicationcontext.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
|
<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:mvc= "http://www.springframework.org/schema/mvc" xsi:schemalocation="http: //www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-4.1.xsd http: //www.springframework.org/schema/mvc http: //www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!--********************************************配置spring***************************************--> <!-- 自動(dòng)掃描 --> <context:component-scan base- package = "com.ssh" > <!-- 掃描時(shí)跳過 @controller 注解的java類(控制器) --> <context:exclude-filter type= "annotation" expression= "org.springframework.stereotype.controller" /> </context:component-scan> <!--********************************************配置hibernate********************************************--> <!--掃描配置文件(這里指向的是之前配置的那個(gè)config.properties)--> <context:property-placeholder location= "classpath:/config.properties" /> <!--配置數(shù)據(jù)源--> <bean id= "datasource" class = "com.mchange.v2.c3p0.combopooleddatasource" destroy-method= "close" > <property name= "driverclass" value= "${jdbc.driver}" /> <!--數(shù)據(jù)庫連接驅(qū)動(dòng)--> <property name= "jdbcurl" value= "${jdbc.url}" /> <!--數(shù)據(jù)庫地址--> <property name= "user" value= "${jdbc.username}" /> <!--用戶名--> <property name= "password" value= "${jdbc.password}" /> <!--密碼--> <property name= "maxpoolsize" value= "40" /> <!--最大連接數(shù)--> <property name= "minpoolsize" value= "1" /> <!--最小連接數(shù)--> <property name= "initialpoolsize" value= "10" /> <!--初始化連接池內(nèi)的數(shù)據(jù)庫連接--> <property name= "maxidletime" value= "20" /> <!--最大空閑時(shí)間--> </bean> <!--配置session工廠--> <bean id= "sessionfactory" class = "org.springframework.orm.hibernate4.localsessionfactorybean" > <property name= "datasource" ref= "datasource" /> <property name= "packagestoscan" value= "com.ssh.entity" /> <property name= "hibernateproperties" > <props> <prop key= "hibernate.hbm2ddl.auto" >${hibernate.hbm2ddl.auto}</prop> <!--hibernate根據(jù)實(shí)體自動(dòng)生成數(shù)據(jù)庫表--> <prop key= "hibernate.dialect" >${hibernate.dialect}</prop> <!--指定數(shù)據(jù)庫方言--> <prop key= "hibernate.show_sql" >${hibernate.show_sql}</prop> <!--在控制臺(tái)顯示執(zhí)行的數(shù)據(jù)庫操作語句--> <prop key= "hibernate.format_sql" >${hibernate.format_sql}</prop> <!--在控制臺(tái)顯示執(zhí)行的數(shù)據(jù)哭操作語句(格式)--> </props> </property> </bean> <!-- 事物管理器配置 --> <bean id= "transactionmanager" class = "org.springframework.orm.hibernate4.hibernatetransactionmanager" > <property name= "sessionfactory" ref= "sessionfactory" /> </bean> </beans> |
ok,到了這里,配置結(jié)束。下面進(jìn)入測(cè)試階段
實(shí)體類(entity):
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
|
package com.ssh.entity; import lombok.data; import javax.persistence.*; /** * created by xrog * on 2/2/2017.2:03 pm */ @data @entity @table (name = "person" ) public class person { @id @generatedvalue private long id; @column (name = "created" ) private long created = system.currenttimemillis(); @column (name = "username" ) private string username; @column (name = "address" ) private string address; @column (name = "phone" ) private string phone; @column (name = "remark" ) private string remark; } |
ps:我這里用了一個(gè)@data注解,此注解會(huì)自動(dòng)生成get方法,set方法,tostring方法等一系列方法,功能十分強(qiáng)大,不過需要安裝插件以及導(dǎo)包, 有興趣的可以百度下
當(dāng)然,你也可以手動(dòng)編寫get/set/構(gòu)造方法。
數(shù)據(jù)庫訪問層(repository):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.ssh.repository; import java.io.serializable; import java.util.list; /** * created by xrog * on 2/2/2017.2:28 pm */ public interface domainrepository<t,pk extends serializable>{ t load(pk id); t get(pk id); list<t> findall(); void persist(t entity); pk save(t entity); void saveorupdate(t entity); void delete(pk id); void flush(); } |
1
2
3
4
5
6
7
8
|
package com.ssh.repository; import com.ssh.entity.person; /** * created by xrog * on 2/2/2017.2:25 pm */ public interface personrepository extends domainrepository<person, long > { } |
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
|
package com.ssh.repository.impl; import com.ssh.repository.personrepository; import com.ssh.entity.person; import org.hibernate.session; import org.hibernate.sessionfactory; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.repository; import java.util.list; /** * created by xrog * on 2/2/2017.2:30 pm */ @repository public class personrepositoryimpl implements personrepository { @autowired private sessionfactory sessionfactory; private session getcurrentsession() { return this .sessionfactory.opensession(); } public person load( long id) { return (person)getcurrentsession().load(person. class ,id); } public person get( long id) { return (person)getcurrentsession().get(person. class ,id); } public list<person> findall() { return null ; } public void persist(person entity) { getcurrentsession().persist(entity); } public long save(person entity) { return ( long )getcurrentsession().save(entity); } public void saveorupdate(person entity) { getcurrentsession().saveorupdate(entity); } public void delete( long id) { person person = load(id); getcurrentsession().delete(person); } public void flush() { getcurrentsession().flush(); } } |
ps:我這里顯示寫了一個(gè)比較通用的接口,其他所有接口皆繼承此接口, 再編寫實(shí)現(xiàn)類
注意:我這里寫的session產(chǎn)生是調(diào)用的sessionfactory的opensession()這個(gè)方法。之前使用getcurrentsession()一直報(bào)錯(cuò),后來百度了一下才知道,hibernate3版本可以使用getcurrentsession()來創(chuàng)建session,而hibernate4版本則不行。
服務(wù)層(service):
1
2
3
4
5
6
7
8
9
|
package com.ssh.service; import com.ssh.entity.person; /** * created by xrog * on 2/2/2017.2:39 pm */ public interface personservice { long saveperson(); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.ssh.service.impl; import com.ssh.entity.person; import com.ssh.repository.personrepository; import com.ssh.service.personservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.service; /** * created by xrog * on 2/2/2017.2:40 pm */ @service public class personserviceimpl implements personservice { @autowired private personrepository personrepository; public long saveperson() { person person = new person(); person.setusername( "xrog" ); person.setphone( "18381005946" ); person.setaddress( "chendu" ); person.setremark( "this is xrog" ); return personrepository.save(person); } } |
控制層(controller):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.ssh.controller; import com.ssh.entity.person; import com.ssh.service.personservice; import com.ssh.service.testservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import org.springframework.web.bind.annotation.responsebody; /** * created by xrog * on 2/1/2017.12:36 am */ @controller public class maincontroller { @autowired private personservice personservice; @requestmapping (value = "saveperson" , method = requestmethod.get) @responsebody public string saveperson(){ personservice.saveperson(); return "success!" ; } } |
ok,編寫完畢,我們重啟下服務(wù)器然后測(cè)試:
我們?cè)诳聪聰?shù)據(jù)庫,跟我們插入的數(shù)據(jù)對(duì)比下
ok,測(cè)試完畢,十分成功
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持服務(wù)器之家!
原文鏈接:http://www.cnblogs.com/xrog/p/6359706.html