[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-spring-chto-takoe-spring-bean":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},608,"chto-takoe-spring-bean",14,"spring","Spring","🌱","Что такое Spring Bean?","Spring Bean -- объект, который создаётся, управляется и конфигурируется IoC-контейнером Spring. По сути, это обычный Java-объект (POJO), жизненный цикл которого контролируется контейнером.\n\n### Способы объявления бинов\n\n```java\n\u002F\u002F 1. Аннотации на классе (Component Scanning)\n@Component\npublic class MyBean { }\n\n\u002F\u002F 2. Java-конфигурация (@Bean)\n@Configuration\npublic class AppConfig {\n    @Bean\n    public MyService myService() {\n        return new MyServiceImpl();\n    }\n}\n\n\u002F\u002F 3. XML-конфигурация (устаревший подход)\n\u002F\u002F \u003Cbean id=\"myService\" class=\"com.example.MyServiceImpl\"\u002F>\n```\n\n### Ключевые характеристики бина\n\n- id\u002Fимя -- уникальный идентификатор бина в контейнере\n- Класс -- конкретный класс объекта\n- Scope -- область видимости (singleton, prototype и др.)\n- Зависимости -- другие бины, которые ему нужны\n- Callbacks -- методы инициализации и уничтожения\n\n### Частая ошибка\n\nСоздание объекта вручную через `new` вместо получения из контейнера. Spring не будет управлять таким объектом, аннотации `@Autowired`, `@Transactional` и другие не будут работать:\n\n```java\n\u002F\u002F НЕПРАВИЛЬНО -- Spring не управляет этим объектом\nMyService service = new MyService();\n\n\u002F\u002F ПРАВИЛЬНО -- получаем бин из контейнера\n@Autowired\nprivate MyService service;\n```\n\n> **На собеседовании:** важно показать понимание того, что бин -- это не просто объект, а объект, управляемый контейнером. Частая ошибка -- забыть упомянуть, что создание объекта через `new` обходит контейнер и отключает все возможности Spring.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое Spring Security? — Gymterview","Spring Security -- фреймворк для обеспечения безопасности Java-приложений, отвечающий за аутентификацию (кто ты?), авторизацию (что тебе разрешено?) и защиту от","Spring Security -- фреймворк для обеспечения безопасности Java-приложений, отвечающий за аутентификацию (кто ты?), автор",[7,13],"Spring Security -- фреймворк для обеспечения безопасности Java-приложений, отвечающий за аутентификацию (кто ты?), авторизацию (что тебе разрешено?) и защиту от распространённых атак (CSRF, Session Fixation).",true]