Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_java2b_20250412
Commits
5e4e1967
Commit
5e4e1967
authored
May 25, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BlogService i wstrzykiwanie zależności
parent
52346d11
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
95 additions
and
12 deletions
+95
-12
BlogController.java
...Spring/src/main/java/org/example/demo/BlogController.java
+15
-12
BlogRestController.java
...ng/src/main/java/org/example/demo/BlogRestController.java
+44
-0
BlogService.java
PC35-Spring/src/main/java/org/example/demo/BlogService.java
+30
-0
index.html
PC35-Spring/src/main/resources/templates/index.html
+6
-0
No files found.
PC35-Spring/src/main/java/org/example/demo/BlogController.java
View file @
5e4e1967
package
org
.
example
.
demo
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
@RequestMapping
(
"/blog"
)
public
class
BlogController
{
private
List
<
String
>
teksty
=
Collections
.
synchronizedList
(
new
ArrayList
<>());
@Autowired
private
BlogService
blogService
;
@GetMapping
(
"/blog"
)
public
String
g
et
(
Model
model
)
{
model
.
addAttribute
(
"teksty"
,
teksty
);
@GetMapping
public
String
rozmowaG
et
(
Model
model
)
{
model
.
addAttribute
(
"teksty"
,
blogService
.
getTeksty
()
);
return
"blog.html"
;
}
@PostMapping
(
"/blog"
)
public
String
post
(
Model
model
,
String
tekst
)
{
teksty
.
add
(
tekst
);
model
.
addAttribute
(
"teksty"
,
teksty
);
@PostMapping
public
String
rozmowaPost
(
String
tekst
,
Model
model
)
{
if
(
tekst
!=
null
&&
!
tekst
.
isBlank
())
{
blogService
.
addTekst
(
tekst
);
}
model
.
addAttribute
(
"teksty"
,
blogService
.
getTeksty
());
return
"blog.html"
;
}
}
PC35-Spring/src/main/java/org/example/demo/BlogRestController.java
0 → 100644
View file @
5e4e1967
package
org
.
example
.
demo
;
import
java.util.List
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"/blog.json"
)
public
class
BlogRestController
{
private
BlogService
blogService
;
// innym sposobem wstrzykiwania zależności, niż @Autowired, jest utworzenie konstruktora, który wymaga podania parametru - wtedy Spring musi go dostarczyć
public
BlogRestController
(
BlogService
blogService
)
{
this
.
blogService
=
blogService
;
}
@GetMapping
public
List
<
String
>
getTeksty
()
{
return
blogService
.
getTeksty
();
}
@GetMapping
(
path
=
"/{numer}"
,
produces
=
"text/plain"
)
public
String
getTekst
(
@PathVariable
(
"numer"
)
int
i
)
{
return
blogService
.
getTekst
(
i
);
}
@PutMapping
(
path
=
"/{numer}"
,
consumes
=
"text/plain"
)
public
void
setTekst
(
@PathVariable
(
"numer"
)
int
i
,
@RequestBody
String
tekst
)
{
blogService
.
setTekst
(
i
,
tekst
);
}
@PostMapping
(
consumes
=
"text/plain"
)
public
void
addTekst
(
@RequestBody
String
tekst
)
{
blogService
.
addTekst
(
tekst
);
}
}
PC35-Spring/src/main/java/org/example/demo/BlogService.java
0 → 100644
View file @
5e4e1967
package
org
.
example
.
demo
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
org.springframework.stereotype.Service
;
// można też użyć adn @Component
@Service
public
class
BlogService
{
private
List
<
String
>
teksty
=
Collections
.
synchronizedList
(
new
ArrayList
<>());
public
List
<
String
>
getTeksty
()
{
return
Collections
.
unmodifiableList
(
teksty
);
}
public
String
getTekst
(
int
i
)
{
return
teksty
.
get
(
i
);
}
public
void
setTekst
(
int
i
,
String
tekst
)
{
teksty
.
set
(
i
,
tekst
);
}
public
void
addTekst
(
String
tekst
)
{
teksty
.
add
(
tekst
);
}
}
PC35-Spring/src/main/resources/templates/index.html
View file @
5e4e1967
...
...
@@ -42,5 +42,11 @@
<li><a
th:href=
"@{/kalkulator}"
>
Kalkulator
</a></li>
</ul>
<h2>
Przykład Blog
</h2>
<ul>
<li><a
th:href=
"@{/blog}"
>
Formularz
</a>
do wpisywania tekstów
</li>
<li><a
th:href=
"@{/blog.json}"
>
RESTController
</a>
podgląd w wersji JSON
</li>
</ul>
</body>
</html>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment