电影网站如何优化,国内好的crm系统,贵阳网站建设是什么,室内装修设计联盟前言#xff1a;在上篇文章中#xff0c;小编写了一个Spring的创建和使用的相关博客#xff1a;Spring的创建和使用-CSDN博客#xff0c;但是#xff0c;操作/思路比较麻烦#xff0c;那么本文主要带领大家走进#xff1a;Spring更加简单的读取和存储对象#xff01; 本… 前言在上篇文章中小编写了一个Spring的创建和使用的相关博客Spring的创建和使用-CSDN博客但是操作/思路比较麻烦那么本文主要带领大家走进Spring更加简单的读取和存储对象 本文主要讲解用注解来实现Spring更加简单的读取和存储对象五大类注解
Controller控制器验证用户请求的数据正确性安保系统Service服务编排和调度具体执行方法的客服中心Repository持久层和数据库交互执行者Component组件工具类Configuration配置项项目中的一些配置
前置工作配置扫描路径重要
注意想要将对象成功的存储到Spring中我们需要配置一下存储对象的扫描包路径只有被配置的包下所有类添加了注解才能被正确的识别并保存到Spring中
在spring-config.xml文件中添加如下配置 conent:component-scan base-packagecom.java.demo/conent:component-scan
因此在上述代码的基础上要求五大类注解必须在component-scan包下。但是即使在component-scan下如果没有五大类注解一样是不能将当前对象存储到spring中的在component-scan下的所有子包下的类只要加了五大类注解同样能存储到spring中 当我们查看五大类源码以后可知 可以认为Controller/Service/Repository/Configuration都是Component“子类”都是针对于Component的“一个扩展 那么为什么需要有五大类注解仅需要一个Component不就啥事都解决了吗 其实五大类注解的本质目的让程序员看到注解之后知道当前的类的作用 有了这个问题我们就不得不谈JavaEE标准分层了 在JavaEE标准分层中至少分3层 控制层服务层数据持久层 Bean命名规则
默认情况下是首字母小写如果类名第一个字母和第二个字母都为小写的情况下Bean名称为原类名。
使用方法注解Bean存储对象到Spring中要求使用该方法注解Bean的方法一定要有返回值
注意事项
Bean命名规则和五大类注解的命名规则不同 Bean命名规则默认情况下Bean存储的对象的名称方法名 User usercontext.getBean(user1,User.class); Bean注解必须要配合五大类注解一起使用处于Spring性能设计所规定的策略 创建User对象 package com.spring.demo;public class User {private Integer uid;private String username;private String password;private Integer age;public Integer getUid() {return uid;}public void setUid(Integer uid) {this.uid uid;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}
}将User对象放入Spring容器中 package com.spring.demo;import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;Component
public class UserBeans {Beanpublic User user1(){User usernew User();user.setUid(1);user.setUsername(张三);user.setPassword(123456);user.setAge(18);return user;}
}那么从Spring容器中获取User对象 package com.spring.demo;import org.springframework.context.ApplicationContext;public class App {public static void main(String[] args) {//得到Spring 容器ApplicationContext context new ClassPathXmlApplicationContext(spring.config.xml);User usrcontext.getBeen(user1,User.class);System.out.println(usr.getUsername());}
}当然对于上述的Bean可以进行重命名 Bean(value {user1,u1})
Bean(name {user1,u1})当你给Bean进行重命名以后此时只能只要重命名的名字才可以获得对象默认使用方法名获取对象的方式就不能用了 Spring容器中允许将同一个类型的对象存储到容器多个多份