Что такое боб в пружинной платформе? Каково использование боба?
В контексте Spring компонент - это управляемый объект . Что такое управляемый объект? Это объект, о котором Spring знает, и что Spring знает, как манипулировать, например вводить свойства, вызывать методы обратного вызова и т. д.
Тогда есть разница между обычным Java-классом (о котором Spring не знает) и beans (о котором Spring знает ).
Обычно компоненты Spring следуют соглашению о компонентах Java, поэтому Spring может легко ими управлять. Например, если компонент объявлен как имеющий свойство xxx
, то Spring будет ожидать присутствия getXxx
и setXxx
. Однако, начиная с Spring 2.X, можно вводить частные переменные зависимости (используя аннотации), и, следовательно, больше нет необходимости определять общедоступный установщик, чтобы включить внедрение зависимостей для свойства.
(Термин bean сбивает с толку в том смысле, что он часто используется для обозначения (1) чего-то, что управляется контейнером, например корпоративного java bean (EJB), либо (2) чего-то который соответствует соглашениям о компонентах Java.)
боб - это класс с публичным стандартным конструктором, геттерами/сеттерами (свойствами) и он должен быть сериализуемым. в википедии есть объяснение этого.
таким образом, spring framework знает, как создать экземпляр bean (стандартный публичный конструктор) и какие свойства существуют (с помощью рефлексии)
боб - это POJO с сеттерами и геттерами, которые следуют соглашению о бобах.
бобы используются для передачи данных, также jsps имеет специальную поддержку для бобов
В спецификации Java Bean прописаны конструктор без аргументов, геттеры / сеттеры и сериализуемые, но Spring не требует, чтобы ваши bean-компоненты следовали спецификации. Spring имеет дело с простыми старыми объектами Java, независимо от того, соответствуют ли они спецификации Java Bean или нет.
Какая польза от бобов? Они выражают ваши пожелания в виде кода. Все, чем занимается Spring, - это управление их жизненным циклом и объединение их вместе для достижения ваших целей.
Бин в мире Spring - это любой объект, который определяется с помощью соглашений Spring, используя идентификатор или имя bean. Время его жизни управляется контейнером Spring. Бин может быть POJO или фабричным экземпляром со статическими методами. Он может быть даже ресурсом JNDI и не обязательно Java Bean. Бин, управляемый контейнером Spring, может быть даже прокси-бобом, который может скрывать бин (например, с помощью TransactionProxyFactory).
Короче говоря, любой боб, время жизни которого управляется контейнером Spring, является бобом Spring.