Framework per a aplicacions Java modernes
Novembre 2025
Framework que simplifica el desenvolupament d'aplicacions Java basades en Spring.
Accedeix a https://start.spring.io
src/main/java/com/example/demo/
├── DemoApplication.java
├── controller/
│ └── UserController.java
├── service/
│ └── UserService.java
├── repository/
│ └── UserRepository.java
└── entity/
└── User.java
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(
DemoApplication.class, args
);
}
}
Combina: @Configuration + @EnableAutoConfiguration + @ComponentScan
Gestiona peticions HTTP i respostes
Conté la lògica de negoci
Accés a dades (JPA)
Models de dades
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String nom;
@Column(nullable = false)
private String email;
// Getters i Setters
}
@Repository
public interface UserRepository
extends JpaRepository<User, Long> {
User findByEmail(String email);
List<User> findByNomContaining(String nom);
}
Spring Data JPA genera la implementació automàticament
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User createUser(User user) {
return userRepository.save(user);
}
}
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public ResponseEntity<List<User>> getAllUsers() {
return ResponseEntity.ok(userService.getAllUsers());
}
@PostMapping
public ResponseEntity<User> createUser(@RequestBody User user) {
return ResponseEntity.status(HttpStatus.CREATED)
.body(userService.createUser(user));
}
}
@GetMapping - Obtenir recursos (SELECT)@PostMapping - Crear recursos (INSERT)@PutMapping - Actualitzar recursos (UPDATE)@DeleteMapping - Eliminar recursos (DELETE)# Port del servidor
server.port=8080
# Base de dades
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
# JPA/Hibernate
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Spring gestiona les dependències automàticament
@Autowired - Injecció automàtica@Component - Component genèric@Service - Capa de servei@Repository - Capa de dadespublic class User {
@NotNull
@Size(min = 2, max = 50)
private String nom;
@Email
@NotBlank
private String email;
}
@PostMapping
public ResponseEntity createUser(@Valid @RequestBody User user) {
// ...
}
Des de la línia de comandes:
mvn spring-boot:run
L'aplicació s'executarà a http://localhost:8080
Eines recomanades:
Preguntes?
Ara és el torn dels treballs pràctics