spring框架知识整理

Spring
—————————————————-
    – 三层架构
    ————————————————
        · Spring Web (SpringMvc)
        ——————————————–
            – Model (xxxxDomain.java) 
                [数据层]
                [业务逻辑]      ↓ 部分拆至service层
                [数据库操作]    ↓ 拆至dao层
            – View (xxxx.jsp) 
                [显示层]
            – Controller (xxxxController.java) 
                [与service层交换数据]
                [通过model层与view层连接, 以显示数据]
        ——————————————–
        · service (xxxxService.java) 
            [业务逻辑]
        · dao (xxxxDao.java) 
            [数据库操作]
    ————————————————-
    – IOC (控制反转) *[1]
        [通过依赖注入 (DI) 将创建对象权交给框架]
        [使用配置文件或注解]
    – AOP (面向切面) *[2]
        [将于业务无关的边缘的逻辑 (如输出日志) 提取出来]
        [通过注入的方式在对应函数执行前后注入这些逻辑]
—————————————————–
*[1]. 
    XxxxxController.java
        @Autowired
        private XxxxxService xxxxxService;
*[2]. 
    applicationContext-miyabi-aop.xml
        <aop:pointcut id=”daoAopSearchCount” expression=”execution(int *..*Dao.searchCount*(..)) and !execution(int com.globaldenso.ai.library..*Dao.searchCount*(..))” />
        <aop:advisor pointcut-ref=”daoAopSearchCount” advice-ref=”searchCountLimitAdvice” />
    SearchCountLimitAdvice.java
        …
            public void afterReturning(
                Object returnValue, 
                Method method, 
                Object[] args,
                Object target) throws 
                Throwable {
        …
                if (result == 0) {
                    throw new ApplicationException(“xxx”);
                } else if (SEARCH_COUNT_LIMIT < result) {
                    throw new ApplicationException(“xxx”);
                }
                
            }
        …

_Incubator_: 致义愤填膺的孩子们

你在我的微博评论中表示,你尚是一个初中生。好吧,姑且就这么认为吧。自我在互联网上公开表示支持杨医生的网戒事业以来,我从未想到我还要在微博上和初中生纠缠,这也不禁让人感叹资本力量、西方势力荼毒未成年人世界之深、之广。Continue reading