基于注解开发
程序员文章站
2022-03-06 20:57:04
...
第一个基于注解开发
首先是要有Controller、Service和Repository,即控制层、业务层和持久层
Controller
Controller主要是用户调用
package com.linko.controller;
import com.linko.service.MyService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
@Data
@Component
@Controller
/*
也可以添加这个注解,使用这个对应层的注解,可以更加清晰表明这个什么层,层次化明显
*/
/*
如果只是加了Component,这只是注入(本质上注入到IoC容器当中),但没有对myService进行自动装载,所以要加@Autowired,其它层也是类似
@Autowired实际上等同于xml中我们写bean时候里面的<property name="myRepository" ref="repository"></property>
*/
public class MyController {
@Autowired
private MyService myService;
/*
模拟客户端请求
*/
public String service(Double score){
return myService.doService(score);
}
}
service
里面有接口,然后还有一个文件夹,主要是实现接口层的类
接口
package com.linko.service;
public interface MyService {
public String doService(Double score);
}
实体类
package com.linko.service.impl;
import com.linko.repository.MyRepository;
import com.linko.service.MyService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
/*
业务层
*/
@Data
//@Component
@Repository
public class MyServiceImpl implements MyService {
@Autowired
private MyRepository myRepository;
public String doService(Double score) {
return myRepository.doRepository(score);
}
}
repository
接口
package com.linko.repository;
public interface MyRepository {
public String doRepository(Double score);
}
实体类
package com.linko.repository.impl;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
//@Component
@Repository
public class MyRepository implements com.linko.repository.MyRepository {
public String doRepository(Double score) {
String result = "";
if(score < 60){
result = "不及格";
}else if(score < 80){
result = "合格";
}else{
result = "优秀";
}
return result;
}
}
通过这次作业,我大致上理解了注解的意义所在,主要是减少xml中的配置,像在xml中要写bean,bean如果还包含其它类,还要设置一个ref,然后再写上bean,一旦类多了,需要注入的类也就多了,容易造成眼花撩乱。
而注解只需要两步,在xml添加自动扫包,然后在每个类加上对应注解即可
当然对于注解也有缺陷的地方,比如对于filter(过滤层)设置特定顺序的话,就只能用bean来配置了,因为bean是从上往下自动扫描了,好像bean里面有个可以设置依赖,实现顺序。
上一篇: 北京大学和复旦大学哪个好?谁更好考?分数线排名更高?
下一篇: 二维码生成之在TP5中的封装