Skip to content

框架学习指南

本指南系统介绍后端开发中的框架学习知识点,适合初学者和进阶开发者。

目录


Spring Boot

  • 依赖注入
    java
    @Service
    public class UserService {
        @Autowired
        private UserRepository userRepository;
    
        public User getUserById(Long id) {
            return userRepository.findById(id).orElse(null);
        }
    }
  • AOP
    java
    @Aspect
    @Component
    public class LoggingAspect {
        @Before("execution(* com.example.service.*.*(..))")
        public void logBefore(JoinPoint joinPoint) {
            System.out.println("Before method: " + joinPoint.getSignature().getName());
        }
    }
  • 事务管理
    java
    @Transactional
    public void updateUser(User user) {
        userRepository.save(user);
    }
  • 安全框架
    java
    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin();
        }
    }
  • 缓存集成
    java
    @Cacheable(value = "users", key = "#id")
    public User getUserById(Long id) {
        return userRepository.findById(id).orElse(null);
    }

Django/Flask

  • 路由系统
    python
    # Django
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('users/', views.user_list),
        path('users/<int:user_id>/', views.user_detail),
    ]
    
    # Flask
    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/users/')
    def user_list():
        return 'User List'
    
    @app.route('/users/<int:user_id>/')
    def user_detail(user_id):
        return f'User {user_id}'
  • 模板引擎
    python
    # Django
    from django.shortcuts import render
    
    def user_list(request):
        users = User.objects.all()
        return render(request, 'users/list.html', {'users': users})
    
    # Flask
    from flask import render_template
    
    @app.route('/users/')
    def user_list():
        users = User.query.all()
        return render_template('users/list.html', users=users)
  • ORM
    python
    # Django
    from django.db import models
    
    class User(models.Model):
        name = models.CharField(max_length=100)
        email = models.EmailField(unique=True)
    
    # Flask-SQLAlchemy
    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(100))
        email = db.Column(db.String(100), unique=True)
  • 中间件
    python
    # Django
    class LoggingMiddleware:
        def __init__(self, get_response):
            self.get_response = get_response
    
        def __call__(self, request):
            print(f"Request: {request.path}")
            response = self.get_response(request)
            print(f"Response: {response.status_code}")
            return response
    
    # Flask
    @app.before_request
    def before_request():
        print(f"Request: {request.path}")
    
    @app.after_request
    def after_request(response):
        print(f"Response: {response.status_code}")
        return response
  • 认证系统
    python
    # Django
    from django.contrib.auth.decorators import login_required
    
    @login_required
    def user_profile(request):
        return render(request, 'users/profile.html')
    
    # Flask
    from flask_login import login_required
    
    @app.route('/profile/')
    @login_required
    def user_profile():
        return render_template('users/profile.html')

学习资源


本文档持续完善中,欢迎补充与建议!

启航团队技术文档