தமிழ்

உலகளாவிய டெவலப்பர்களுக்கான ஸ்பிரிங் மேம்பாடு குறித்த ஒரு விரிவான வழிகாட்டி. இது முக்கிய கருத்துகள், சிறந்த நடைமுறைகள், மேம்பட்ட நுட்பங்கள் மற்றும் சமீபத்திய போக்குகளை உள்ளடக்கியது.

ஸ்பிரிங் மேம்பாட்டில் தேர்ச்சி பெறுதல்: உலகளாவிய டெவலப்பர்களுக்கான ஒரு விரிவான வழிகாட்டி

ஸ்பிரிங் ஃபிரேம்வொர்க், நிறுவன ஜாவா மேம்பாட்டின் ஒரு மூலக்கல்லாக மாறியுள்ளது, இது உலகெங்கிலும் உள்ள டெவலப்பர்களுக்கு வலுவான, அளவிடக்கூடிய மற்றும் பராமரிக்கக்கூடிய பயன்பாடுகளை உருவாக்க அதிகாரம் அளிக்கிறது. இந்த விரிவான வழிகாட்டி ஸ்பிரிங் மேம்பாட்டில் ஒரு ஆழமான பார்வையை வழங்குகிறது, இதில் அத்தியாவசிய கருத்துகள், சிறந்த நடைமுறைகள் மற்றும் மேம்பட்ட நுட்பங்கள் ஆகியவை அடங்கும், இந்த சக்திவாய்ந்த ஃபிரேம்வொர்க்கில் நீங்கள் தேர்ச்சி பெற உதவும்.

ஸ்பிரிங் ஃபிரேம்வொர்க் என்றால் என்ன?

ஸ்பிரிங் ஃபிரேம்வொர்க் என்பது ஜாவா தளத்திற்கான ஒரு திறந்த மூல பயன்பாட்டு கட்டமைப்பு மற்றும் கட்டுப்பாட்டின் தலைகீழ் (inversion of control) கொள்கலன் ஆகும். இது எளிய வலை பயன்பாடுகள் முதல் சிக்கலான நிறுவன தீர்வுகள் வரை ஜாவா பயன்பாடுகளை உருவாக்குவதற்கான ஒரு விரிவான உள்கட்டமைப்பு ஆதரவை வழங்குகிறது. அதன் மட்டு வடிவமைப்பு டெவலப்பர்கள் தங்களுக்குத் தேவையான ஃபிரேம்வொர்க்கின் பகுதிகளை மட்டும் பயன்படுத்த அனுமதிக்கிறது, இது வெவ்வேறு திட்டத் தேவைகளுக்கு ஏற்ப மிகவும் மாற்றியமைக்கக்கூடியதாகிறது.

ஸ்பிரிங் ஃபிரேம்வொர்க்கின் முக்கிய அம்சங்கள்

ஸ்பிரிங் பூட் உடன் தொடங்குதல்

ஸ்பிரிங் பூட், ஸ்பிரிங்-அடிப்படையிலான பயன்பாடுகளை உருவாக்கும் செயல்முறையை வியத்தகு முறையில் எளிதாக்குகிறது. இது தானியங்கு உள்ளமைவு, உட்பொதிக்கப்பட்ட சேவையகங்கள் மற்றும் தேவையான கொதிகலன் குறியீட்டின் அளவைக் குறைக்கும் பல்வேறு பிற அம்சங்களை வழங்குகிறது.

ஒரு ஸ்பிரிங் பூட் திட்டத்தை அமைத்தல்

ஸ்பிரிங் பூட் உடன் தொடங்குவதற்கான எளிதான வழி ஸ்பிரிங் இனிஷியலைசரைப் (start.spring.io) பயன்படுத்துவதாகும். இந்த வலை அடிப்படையிலான கருவி உங்களுக்குத் தேவையான சார்புகளுடன் ஒரு அடிப்படை ஸ்பிரிங் பூட் திட்டத்தை உருவாக்க உங்களை அனுமதிக்கிறது. உங்கள் விருப்பமான பில்ட் கருவி (மாவென் அல்லது கிரேடில்), ஜாவா பதிப்பு மற்றும் சார்புகளை நீங்கள் தேர்ந்தெடுக்கலாம். உதாரணமாக, ஒரு உறவுநிலை தரவுத்தளத்தைப் பயன்படுத்தும் ஒரு எளிய வலை பயன்பாட்டை உருவாக்க நீங்கள் "Web", "JPA", மற்றும் "H2" ஆகியவற்றைத் தேர்ந்தெடுக்கலாம்.

எடுத்துக்காட்டு: ஸ்பிரிங் பூட் மூலம் ஒரு எளிய ரெஸ்ட் ஏபிஐ உருவாக்குதல்

"ஹலோ, வேர்ல்ட்!" என்ற செய்தியைத் திருப்பும் ஒரு எளிய ரெஸ்ட் ஏபிஐ-ஐ உருவாக்குவோம்.

1. ஸ்பிரிங் இனிஷியலைசரைப் பயன்படுத்தி ஒரு ஸ்பிரிங் பூட் திட்டத்தை உருவாக்கவும்.

2. உங்கள் திட்டத்தில் `spring-boot-starter-web` சார்பைச் சேர்க்கவும்.

3. ஒரு கன்ட்ரோலர் வகுப்பை உருவாக்கவும்:


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

4. பயன்பாட்டை இயக்கவும்.

இப்போது, நீங்கள் `http://localhost:8080/hello` என்ற ஏபிஐ எண்ட்பாயிண்ட்டை அணுகலாம், மேலும் "ஹலோ, வேர்ல்ட்!" என்ற செய்தியைக் காண்பீர்கள்.

ஸ்பிரிங் மேம்பாட்டின் முக்கிய கருத்துகள்

சார்பு உட்செலுத்துதல் (DI) மற்றும் கட்டுப்பாட்டின் தலைகீழ் (IoC)

சார்பு உட்செலுத்துதல் (DI) என்பது பயன்பாட்டுக் கூறுகளுக்கு இடையில் தளர்வான இணைப்பை ஊக்குவிக்கும் ஒரு வடிவமைப்பு முறை. ஆப்ஜெக்ட்கள் தங்கள் சொந்த சார்புகளை உருவாக்குவதற்குப் பதிலாக, அவை அவற்றுக்குள் செலுத்தப்படுகின்றன. கட்டுப்பாட்டின் தலைகீழ் (IoC) என்பது ஒரு பரந்த கொள்கையாகும், இது ஃபிரேம்வொர்க் (ஸ்பிரிங் கொள்கலன்) எவ்வாறு ஆப்ஜெக்ட்களின் உருவாக்கம் மற்றும் இணைப்பை நிர்வகிக்கிறது என்பதை விவரிக்கிறது.

DI மற்றும் IoC-யின் நன்மைகள்

எடுத்துக்காட்டு: ஸ்பிரிங்கில் DI-ஐப் பயன்படுத்துதல்


@Service
public class UserService {

    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public User getUserById(Long id) {
        return userRepository.findById(id).orElse(null);
    }
}

@Repository
public interface UserRepository extends JpaRepository {
}

இந்த எடுத்துக்காட்டில், `UserService` ஆனது `UserRepository`-ஐ சார்ந்துள்ளது. `UserRepository` ஆனது `@Autowired` சிறுகுறிப்பைப் பயன்படுத்தி `UserService`-இன் கன்ஸ்ட்ரக்டரில் செலுத்தப்படுகிறது. இது ஸ்பிரிங் இந்த கூறுகளின் உருவாக்கம் மற்றும் இணைப்பை நிர்வகிக்க அனுமதிக்கிறது.

அம்சம் சார்ந்த நிரலாக்கம் (AOP)

அம்சம் சார்ந்த நிரலாக்கம் (AOP) என்பது பதிவிடுதல், பாதுகாப்பு மற்றும் பரிவர்த்தனை மேலாண்மை போன்ற குறுக்குவெட்டு கவலைகளை பிரிக்க உங்களை அனுமதிக்கும் ஒரு நிரலாக்க முன்னுதாரணமாகும். ஒரு அம்சம் (aspect) என்பது இந்த குறுக்குவெட்டு கவலைகளை உள்ளடக்கிய ஒரு தொகுதி ஆகும்.

AOP-யின் நன்மைகள்

எடுத்துக்காட்டு: பதிவிடுதலுக்கு AOP-ஐப் பயன்படுத்துதல்


import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class LoggingAspect {

    private static final Logger logger = LoggerFactory.getLogger(LoggingAspect.class);

    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
        logger.info("Method " + joinPoint.getSignature().getName() + " called");
    }
}

இந்த எடுத்துக்காட்டு, `com.example.service` தொகுப்பில் உள்ள எந்தவொரு முறையையும் செயல்படுத்துவதற்கு முன்பு ஒரு செய்தியைப் பதிவுசெய்யும் ஒரு அம்சத்தை வரையறுக்கிறது. `@Before` சிறுகுறிப்பு பாயிண்ட்கட் (pointcut)-ஐக் குறிப்பிடுகிறது, இது அறிவுரை (பதிவிடுதல் தர்க்கம்) எப்போது செயல்படுத்தப்பட வேண்டும் என்பதை தீர்மானிக்கிறது.

ஸ்பிரிங் டேட்டா

ஸ்பிரிங் டேட்டா தரவு அணுகலுக்கு ஒரு சீரான மற்றும் எளிமைப்படுத்தப்பட்ட அணுகுமுறையை வழங்குகிறது, இது உறவுநிலை தரவுத்தளங்கள், NoSQL தரவுத்தளங்கள் மற்றும் செய்தி வரிசைகள் உள்ளிட்ட பல்வேறு தரவு மூலங்களை ஆதரிக்கிறது. இது தரவுத்தள தொடர்புகளில் உள்ள பெரும்பாலான கொதிகலன் குறியீட்டை சுருக்கி, டெவலப்பர்களை வணிக தர்க்கத்தில் கவனம் செலுத்த அனுமதிக்கிறது.

ஸ்பிரிங் டேட்டாவின் முக்கிய தொகுதிகள்

எடுத்துக்காட்டு: ஸ்பிரிங் டேட்டா JPA-ஐப் பயன்படுத்துதல்


@Repository
public interface ProductRepository extends JpaRepository {
    List findByNameContaining(String name);
}

இந்த எடுத்துக்காட்டு ஸ்பிரிங் டேட்டா JPA-ஐப் பயன்படுத்தி ஒரு எளிய ரெபாசிட்டரி இடைமுகத்தை எவ்வாறு உருவாக்குவது என்பதைக் காட்டுகிறது. `JpaRepository` இடைமுகம் பொதுவான CRUD (உருவாக்கு, படி, புதுப்பி, நீக்கு) செயல்பாடுகளை வழங்குகிறது. பெயரிடும் மரபைப் பின்பற்றுவதன் மூலமோ அல்லது `@Query` சிறுகுறிப்பைப் பயன்படுத்துவதன் மூலமோ நீங்கள் தனிப்பயன் வினவல் முறைகளையும் வரையறுக்கலாம்.

ஸ்பிரிங் செக்யூரிட்டி

ஸ்பிரிங் செக்யூரிட்டி என்பது ஜாவா பயன்பாடுகளுக்கான ஒரு சக்திவாய்ந்த மற்றும் மிகவும் தனிப்பயனாக்கக்கூடிய அங்கீகாரம் மற்றும் அங்கீகாரக் கட்டமைப்பு ஆகும். இது அங்கீகாரம், அங்கீகாரம், பொதுவான வலைத் தாக்குதல்களுக்கு எதிரான பாதுகாப்பு மற்றும் பலவற்றை உள்ளடக்கிய விரிவான பாதுகாப்பு அம்சங்களை வழங்குகிறது.

ஸ்பிரிங் செக்யூரிட்டியின் முக்கிய அம்சங்கள்

எடுத்துக்காட்டு: ஸ்பிரிங் செக்யூரிட்டி மூலம் ஒரு ரெஸ்ட் ஏபிஐ-ஐப் பாதுகாத்தல்


@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .anyRequest().authenticated()
            .and()
            .httpBasic();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("user").password("{noop}password").roles("USER");
    }
}

இந்த எடுத்துக்காட்டு, `/public/**` இறுதிப்புள்ளிகளைத் தவிர அனைத்து கோரிக்கைகளுக்கும் அங்கீகாரம் தேவைப்படுமாறு ஸ்பிரிங் செக்யூரிட்டியை உள்ளமைக்கிறது. இது "user" என்ற பயனர்பெயர் மற்றும் "password" என்ற கடவுச்சொல்லுடன் ஒரு நினைவக பயனரையும் வரையறுக்கிறது.

மேம்பட்ட ஸ்பிரிங் மேம்பாட்டு நுட்பங்கள்

ஸ்பிரிங் கிளவுட் உடன் மைக்ரோசர்வீசஸ் கட்டமைப்பு

மைக்ரோசர்வீசஸ் கட்டமைப்பு என்பது ஒரு மென்பொருள் மேம்பாட்டு அணுகுமுறையாகும், இது ஒரு பயன்பாட்டை ஒரு வணிக களத்தைச் சுற்றி மாதிரியாக்கப்பட்ட சிறிய, தன்னாட்சி சேவைகளின் தொகுப்பாக கட்டமைக்கிறது. ஸ்பிரிங் கிளவுட், ஸ்பிரிங் பூட் உடன் மைக்ரோசர்வீசஸ்-அடிப்படையிலான பயன்பாடுகளை உருவாக்குவதற்கான கருவிகள் மற்றும் நூலகங்களின் தொகுப்பை வழங்குகிறது.

ஸ்பிரிங் கிளவுடின் முக்கிய கூறுகள்

ஸ்பிரிங் வெப்ஃபிளக்ஸ் உடன் எதிர்வினை நிரலாக்கம்

எதிர்வினை நிரலாக்கம் என்பது ஒத்திசைவற்ற தரவு ஓடைகள் மற்றும் மாற்றத்தின் பரவலுடன் கையாளும் ஒரு நிரலாக்க முன்னுதாரணமாகும். ஸ்பிரிங் வெப்ஃபிளக்ஸ் என்பது ஜாவாவிற்கான ஒரு எதிர்வினை நூலகமான ரியாக்டரின் மேல் கட்டப்பட்ட ஒரு எதிர்வினை வலைக் கட்டமைப்பு ஆகும்.

எதிர்வினை நிரலாக்கத்தின் நன்மைகள்

ஸ்பிரிங் பயன்பாடுகளைச் சோதித்தல்

சோதனை என்பது மென்பொருள் மேம்பாட்டு செயல்முறையின் ஒரு முக்கிய பகுதியாகும். ஸ்பிரிங் யூனிட் மற்றும் ஒருங்கிணைப்பு சோதனைக்கு சிறந்த ஆதரவை வழங்குகிறது.

சோதனைகளின் வகைகள்

ஸ்பிரிங் பயன்பாடுகளைச் சோதிப்பதற்கான கருவிகள்

ஸ்பிரிங் மேம்பாட்டிற்கான சிறந்த நடைமுறைகள்

ஒரு உலகளாவிய சூழலில் ஸ்பிரிங் மேம்பாடு

ஸ்பிரிங் மேம்பாடு உலகளவில் பரவலாக ஏற்றுக்கொள்ளப்பட்டுள்ளது. ஒரு உலகளாவிய பார்வையாளர்களுக்காக ஸ்பிரிங் பயன்பாடுகளை உருவாக்கும்போது, பின்வருவனவற்றைக் கருத்தில் கொள்வது முக்கியம்:

உதாரணமாக, அமெரிக்காவில் உள்ள ஒரு பயனருக்கு ஒரு தேதியைக் காட்டும்போது, நீங்கள் `MM/dd/yyyy` என்ற வடிவத்தைப் பயன்படுத்தலாம், அதே நேரத்தில் ஐரோப்பாவில் உள்ள ஒரு பயனர் `dd/MM/yyyy` என்ற வடிவத்தை எதிர்பார்க்கலாம். இதேபோல், ஒரு எண் சில நாடுகளில் தசமப் பிரிப்பானாக காற்புள்ளியுடனும், மற்றவற்றில் புள்ளியுடனும் வடிவமைக்கப்படலாம்.

ஸ்பிரிங் மேம்பாட்டின் எதிர்காலம்

ஸ்பிரிங் ஃபிரேம்வொர்க் மென்பொருள் மேம்பாட்டின் மாறிவரும் நிலப்பரப்புக்கு ஏற்ப தொடர்ந்து உருவாகி வருகிறது. ஸ்பிரிங் மேம்பாட்டின் சில முக்கிய போக்குகள் பின்வருமாறு:

முடிவுரை

ஸ்பிரிங் ஃபிரேம்வொர்க் நிறுவன ஜாவா பயன்பாடுகளை உருவாக்குவதற்கான ஒரு சக்திவாய்ந்த மற்றும் பல்துறை கருவியாகும். இந்த வழிகாட்டியில் உள்ள முக்கிய கருத்துகள், சிறந்த நடைமுறைகள் மற்றும் மேம்பட்ட நுட்பங்களில் தேர்ச்சி பெறுவதன் மூலம், நீங்கள் ஒரு திறமையான ஸ்பிரிங் டெவலப்பராக மாறலாம் மற்றும் உயர்தர, அளவிடக்கூடிய மற்றும் பராமரிக்கக்கூடிய பயன்பாடுகளை உருவாக்கலாம். தொடர்ந்து கற்றுக் கொள்ளுங்கள், சமீபத்திய போக்குகளுடன் புதுப்பித்த நிலையில் இருங்கள், மற்றும் ஸ்பிரிங் சுற்றுச்சூழல் அமைப்பின் சக்தியைத் தழுவுங்கள்.

ஸ்பிரிங் மேம்பாட்டில் தேர்ச்சி பெறுதல்: உலகளாவிய டெவலப்பர்களுக்கான ஒரு விரிவான வழிகாட்டி | MLOG