Anıl Şenocak Anıl Şenocak
Yazılım Mühendisi
Spring Security Annotations
@PreAuthorize, @RolesAllowed ve @Secured öğelerinin tümü, method güvenliğini yapılandırmaya izin veren annotationlardır. Hem bireysel metodlara hem de sınıf düzeyinde uygulanabilirler Method düzeyinde...
Column-Level Encryption / Decryption with Oracle `DBMS_CRYPTO` in Spring Boot
Most "the database is encrypted" stories stop at Transparent Data Encryption (TDE) the datafiles, redo logs, and backups are encrypted on disk, so an attacker who steals the raw .dbf files or a tape b...
Mockito: doReturn Vs thenReturn
thenReturn() normal mock'lar için varsayılan ve en okunabilir yöntemdir; sabit bir dönüş değeri tanımlamak istediğinizde tercih edilir. doReturn() ise özellikle @Spy kullanılan durumlarda gerçek metodun çalışmasını engellemek için kullanılır. Böylece yan etkiler veya istenmeyen exception'lar önlenir. Kısacası, mock için thenReturn(), spy için ise gerektiğinde doReturn() kullanmak en doğru yaklaşımdır.
Neden Constructor Injection Kullanmalıyız?
Constructor Injection, Spring uygulamalarında dependency yönetimi için önerilen yaklaşımdır. Bu yöntem sayesinde bağımlılıklar zorunlu hale gelir, nesneler final olarak tanımlanabildiği için immutable olur ve sınıfın ihtiyaç duyduğu tüm bağımlılıklar açıkça görülebilir. Ayrıca test yazmayı kolaylaştırır, gizli bağımlılıkları ortadan kaldırır ve Field Injection'a göre daha güvenilir, okunabilir ve sürdürülebilir bir kod yapısı sunar.
Private Static Final Alanlar Nasıl Değiştirilir
private static final alanlar normal şartlarda değiştirilemez olarak kabul edilir. Ancak Java Reflection API kullanılarak (ve bazı JVM kısıtlamaları aşılabildiğinde) bu alanların değeri çalışma anında değiştirilebilir. Bu teknik özellikle test senaryolarında, üçüncü parti kütüphanelerin sabitlerini değiştirmek veya legacy uygulamalarda geçici çözümler üretmek için kullanılabilir. Ancak Java'nın yeni sürümlerinde bu işlemler giderek daha fazla sınırlandırıldığı için üretim ortamında kullanılması önerilmez.
Entity Listener'da Bean'lere erişmek
JPA Entity Listener'lar Spring tarafından yönetilmediği için @Autowired veya constructor injection kullanılamaz. Eğer listener içerisinde bir Repository veya Service bean'ine ihtiyaç duyarsanız, ApplicationContext üzerinden ilgili bean'i almanız gerekir. Bunun için ApplicationContextAware implement eden bir yardımcı sınıf oluşturup, ApplicationContext#getBean() ile istediğiniz Spring bean'ine erişebilirsiniz.
Testing Spring AI MCP Tools in Swagger UI
If you are building AI agents with Spring AI, you are likely exploring the Model Context Protocol (MCP). MCP is a game-changer for AI applications, standardizing how AI models interact with external tools and data sources.
Oracle Dynamic ID Generator For Spring Boot
This project is a Spring Boot + Kotlin + Oracle sample application that demonstrates how to generate entity IDs dynamically using a custom Hibernate identifier generator backed by Oracle sequences.
Spring Data File Repository: Local JSON Storage in Spring Boot
In modern backend architectures, we usually rely on traditional database servers like PostgreSQL, MySQL, or Oracle. However, setting up a database infrastructure for a small microservice, a rapid proof-of-concept (PoC), or a local utility service can introduce unnecessary infrastructure overhead.
Supercharge Your Spring Boot Apps: Dynamic Configuration with JedisPubSub
In today's fast-paced development world, the ability to update application configuration on the fly-without redeploying or restarting your service is a game changer. While Spring Cloud Config is a popular solution, sometimes you want a lightweight, cloud-agnostic approach. That's where JedisPubSub comes in.
E-posta Bildirimine Abone Ol
Yeni bir yazı yayımlandığında e-posta alın.