1. 程式人生 > >spring boot 註解整理,用過的

spring boot 註解整理,用過的

1、@Repository

(1)@Repository(value="userDao")

該註解是告訴Spring,讓Spring建立一個名字叫“userDao”的UserDaoImpl例項。

當Service需要使用Spring建立的名字叫“userDao”的UserDaoImpl例項時,就可以使用@Resource(name = "userDao")註解告訴Spring,Spring把建立好的userDao注入給Service即可。

(2)@Repository

dao檔案使用@Repository註解,標註這是一個持久化操作物件.

/**
 * 使用@Repository註解,標註這是一個持久化操作物件.
 */
@Repository
public class CatDao {
 
    @Resource
    JdbcTemplate jdbcTemplate;
     
    public Cat selectCatName(String catName)
    {
         
        /**
         * 1、定義一個Sql語句;
         * 2、定義一個RowMapper.
         * 3、執行查詢方法.
         */
        String sql = "select * from cat where cat_name=:catName";
        RowMapper<Cat> rowMapper = new BeanPropertyRowMapper<>(Cat.class);
        Cat cat = jdbcTemplate.queryForObject(sql, new Object[] {catName}, rowMapper);
        return cat;
         
    }
}

如果 Web 應用程式採用了經典的三層分層結構的話,最好在持久層、業務層和控制層分別採用 @Repository、@Service 和@Controller 對分層中的類進行註釋,而用 @Component 對那些比較中立的類進行註釋。

2、@Entity

使用@Entity進行實體類的持久化操作,當JPA檢測到我們的實體類當中有@Entity 註解的時候,會在資料庫中生成對應的表結構資訊。

/**
 * 建立了一個實體類。
 *
 * 如何持久化呢?
 *
 * 1、使用@Entity進行實體類的持久化操作,當JPA檢測到我們的實體類當中有
 *
 * @Entity 註解的時候,會在資料庫中生成對應的表結構資訊。
 *
 *
 * 如何指定主鍵以及主鍵的生成策略?
 *
 * 2、使用@Id指定主鍵.
 *
 */
@Entity
public class Cat {
 
    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
     
    private String catAge;
     
    private String catName;
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getCatAge() {
        return catAge;
    }
 
    public void setCatAge(String catAge) {
        this.catAge = catAge;
    }
 
    public String getCatName() {
        return catName;
    }
 
    public void setCatName(String catName) {
        this.catName = catName;
    }     
}