zoukankan      html  css  js  c++  java
  • Spring注解

    @Component标注一个普通的Spring Bean;把普通pojo实例化到spring容器中,,相当于配置文件中的<bean id="" class=""/>,让spring容器去管理
    @Controller:标注一个控制器组件类;
    @Service:标注一个业务逻辑组件类;
    @Repository:标注一个Dao组件;
    <context:component-scan base-package=""/>
    在默认的情况下,自动搜索所有以@Component、@Controller、@Service、@Repository注释的java类,当作Spring Bean处理。
     
    @Resource,使用@Autoware注解也是不需要set和get方法的。因为spring在实例化对象时,是通过java的反射机制注入实例(即使用Spring的注解进行自动扫描,自动装配)。 @Resource(name="baseDao") privateBaseDao baseDao;
    @Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,该注解被典型地转换为绑定于JNDI context中的一个对象。
     
    @RequestMapping来映射URL
        注解 @RequestMapping 可以用在类定义处和方法定义处。
        类定义处:规定初步的请求映射,相对于web应用的根目录;
        方法定义处:进一步细分请求映射,相对于类定义处的URL。如果类定义处没有使用该注解,则方法标记的URL相对于根目录而言;
     
    @RequestMapping进行url映射,一个方法对应一个url,定义方法:在action方法上定义requestMapping
     
    根路径+子路径
    需求:为了很好的管理url,为了避免url的冲突,使用根路径+子路径
     
    定义方法:
    根路径:
    在类名上边定义requestMapping
    子路径:
    在方法上边定义requestMapping
     
    最终访问路径:根路径+子路径:/stu/editstudent.action
     
    @responsebody
    java对象转json
    表示该方法的返回结果直接写入HTTP response body中,而不是 “返回值通常解析为跳转路径”
    @RequestBody @ResponseBody实现json数据交互
     
    @Entity @Table
    Java Persistence API定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库。这些普通Java对象被称作Entity Bean。除了是用Java Persistence元数据将其映射到数据库外,Entity Bean与其他Java类没有任何区别。事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。
    一面是一个例子:
    @Entity
    @Table(name = "sys_user")
    @Cache(region = "all", usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
    public class SysUser extends SysUserParameter {
     
    private static final long serialVersionUID = 822330369002149147L;
    @Id
    @GeneratedValue
    @Column(name = "id")
    private Long id; // ID
    @Column(name = "user_name", length = 30, nullable = false, unique = true)
    private String userName; // 用户名
    @Column(name = "password", length = 32, nullable = false)
    private String password; // 密码
    @Column(name = "real_name", length = 30, nullable = true)
    private String realName; // 姓名
    @Column(name = "tel", length = 15, nullable = true)
    private String tel; // 手机号
    @Column(name = "email", length = 30, nullable = true)
    private String email; // 邮箱
    @Column(name = "last_logintime")
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastLoginTime; // 最后登录时间
    @Column(name = "role", nullable = false)
    private Short role; // 角色(被禁用:0,超级管理员:1,普通管理员:2,普通用户:3)
     
    public SysUser() {
     
    }
     
    public Long getId() {
    return id;
    }
     
    public void setId(Long id) {
    this.id = id;
    }
     
    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 String getRealName() {
    return realName;
    }
     
    public void setRealName(String realName) {
    this.realName = realName;
    }
     
    public String getTel() {
    return tel;
    }
     
    public void setTel(String tel) {
    this.tel = tel;
    }
     
    public String getEmail() {
    return email;
    }
     
    public void setEmail(String email) {
    this.email = email;
    }
     
    public Short getRole() {
    return role;
    }
     
    public void setRole(Short role) {
    this.role = role;
    }
     
    @JsonSerialize(using = DateTimeSerializer.class)
    public Date getLastLoginTime() {
    return lastLoginTime;
    }
     
    public void setLastLoginTime(Date lastLoginTime) {
    this.lastLoginTime = lastLoginTime;
    }
     
    @Override
    public boolean equals(Object obj) {
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;
    final SysUser other = (SysUser) obj;
    return Objects.equal(this.id, other.id) && Objects.equal(this.userName, other.userName) && Objects.equal(this.password, other.password) && Objects.equal(this.realName, other.realName)
    && Objects.equal(this.tel, other.tel) && Objects.equal(this.email, other.email) && Objects.equal(this.lastLoginTime, other.lastLoginTime) && Objects.equal(this.role, other.role);
    }
     
    @Override
    public int hashCode() {
    return Objects.hashCode(this.id, this.userName, this.password, this.realName, this.tel, this.email, this.lastLoginTime, this.role);
    }
     
    }
  • 相关阅读:
    事后诸葛亮
    团队作业6--展示博客(Alpha版本)
    团队作业5——测试与发布(Alpha版本)
    团队作业2:需求分析&原型设计
    团队编程作业1-团队展示与选题
    结对编程1
    TeamViewer app案例分析
    第一次作业--四则运算
    【Alpha】Daily Scrum Meeting 集合贴
    【Alpha】Daily Scrum Meeting——Day3
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/8966240.html
Copyright © 2011-2022 走看看