@ Controller(表现层) 、@ Service(业务层) 、@ Repository(持久层)。
作用:用于把当前类对象存入spring容器中
属性: value :用于指定bean的id。当我们不写时,它的默认值是当前类名,且首字母改小写。
@ Autowire:自动按类型注入。 出现位置:可以在变量上、也可以是方法上。
细节:在使用注解注入时,set方法就不是必须的了
@ Qualifier:按照类中注入的基础之上再按照名称注入。
@ Resource : 直接按照bean的id注入。它可以独立使用
@ Value:用于注入基本类型和String类型的数据
( 作用就和在bean标签中使用scope属性实现的功能是一样的 )
@ Scope: 常用取值: singleton 、prototype
( 作用就和在bean标签中使用init-method和destroy-method的作用是一样的 )
@ PostConstruct:用于指定初始化方法。 在类中方法上指定
@ PreDestroy:用于指定销毁方法。 在类中方法上指定(最好是单例对象,因为多例对象有java回收垃圾机制回收)
@ Configuration: 指定当前类是一个配置类
@ ComponentScan: 指定创建容器时要扫描的包。和本文开头加入的内容作用是一致的
@ PropertySource ("classpath:jdbc.properties"):加载配置文件
@ Import: 用于引入其他的类,将其他配置类导入总配置类
@Repository注解:
1 package imooc_spring.test.anotation.myrepository
2
3 import org.springframework.stereotype.Repository
4
5 /**
6 * 指定id,默认为dAO,即类名首字母小写,如果指定了名称那么只能ctx.getBean(指定名称)来获取bean
7 * 这个例子里就只能通过ctx.getBean("wyldao)来获取DAO 的实例了
8 *
9 * @author Wei
10 */
11 @Repository("wyldao")
12 public class DAO {
13 /**
14 * 返回x和y的乘积
15 *
16 * @param x
17 * @param y
18 * @return x*y
19 */
20 public int multi(int x, int y) {
21 return x * y
22 }
23 }
复制代码
@Component 注解:
复制代码
1 package imooc_spring.test.anotation
2
3 import org.springframework.stereotype.Component
4 /**
5 * Component 注解
6 * @author Wei
7 *
8 */
9 @Component
10 public class TestObj {
11 public void SayHi(){
12 System.out.println("\nHi this is TestObj.SayHi()...")
13 }
14 }
复制代码
@Controller注解:
复制代码
1 package imooc_spring.test.anotation
2
3 import org.springframework.stereotype.Controller
4
5 @Controller
6 public class UserController {
7 public void execute(){
8 System.out.println("\nUserController.execute()...")
9 }
10 }
复制代码
@Repository注解:
复制代码
1 package imooc_spring.test.anotation
2
3 import org.springframework.stereotype.Repository
4
5 //@Repository
6 @Repository("wyl_repo")
7 public class UserRepositoryImpl implements IUserRepository {
8 //模拟持久化层
9 @Override
10 public void save() {
11 // TODO Auto-generated method stub
12 System.out.println("\nUserRepositoryImpl.save()...")
13 }
14
15 }
复制代码
@Service注解:
复制代码
1 package imooc_spring.test.anotation
2
3 import org.springframework.stereotype.Service
4
5 @Service
6 public class UserService {
7 public void add(){
8 System.out.println("\nUserService.add()...")
9 }
10 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)