关于学习并使用springboot遇到的一些问题

问题1:自动装配@Autowried 失败

详情: 

Service 注入始终为空

@Autowired
 public  WXuserInfoService wxUserInfoService  ;   //wxUserInfoService 始终为空


注意一:是否在spring容器的管理里面,如果没有请在类上加@Component 

@Component
public class ControllerService {
如果加上@Component 注解启动报错,看一下你的实体类是否是静态的,去掉静态
例如:
  public  WXuserInfoService wxUserInfoService  ;
    public static  void coreService(HttpServletRequest request, HttpServletResponse response){
}
//这里使用了静态,应该去掉
注意二:Service是否使用@Service 注解,没有请加上,加上如果没有效果,
请使用@Resource(name="WXuserInfoService")指定service并去掉@Autowired注解 ,使用@Resource注解时service层需要指定service接口,直接copy接口名称 例如@Service("WXuserInfoService")

问题2:如何打包项目,并把配置文件等放在jar包外部?

第一步:添加maven 配置:pom.xml文件下面build里面添加:


            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                
                    
                        
                            true
                            
                            com.server.ServerApplication
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-assembly-plugin
                
                
                    
                             
                        src/main/resources/config/package.xml
                    
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            

maven-jar-plugin:负责将应用程序打包成可执行的jar文件 

maven-assembly-plugin:负责将整个项目按照自定义的目录结构打成最终的压缩包,方便实际部署

打包的时候一定要指定启动类:

 
       org.springframework.boot
       spring-boot-maven-plugin
       
            com.dgj.weixin.WeixindevApplication
        
  

不然在运行的时候会出现找不到启动加载类的错误!

第二步:在src\main\resources下面创建config文件夹,并在下面新建一个assembly.xml文件(这个名字可以自己改只要和pom.xml的指定一致就行)

assembly.xml内容:



    package
    
        zip
    
    true
    
        
        
            ${project.basedir}
            /
            
                
                *.bat
                *.md

                
                
                
                
            
        
        
        
            ${project.basedir}/src/main/resources
            /
            
                config/*.xml
               
                config/*.yml
              
                *.yml
            
        

        
        
            ${project.build.directory}
            /
            
                *.jar
            
        
    

以上配置完成了;我这里是使用的IDEA ,所以直接在右边的Maven Project 下面的你的项目下面找到Lifecycle 

先clean清理一下,然后install。

在target下面找到打包好的jar,复制粘贴到你的服务器上或者本地执行;

执行命令的时候输入下面的命令:

java -jar -Dspring.config.location=application.yml weixindev-0.0.1-SNAPSHOT.jar

 -Dspring.config.location是用来读取你外置application.yml的配置信息;

然后项目启动。

 

你可能感兴趣的:(学,记录,用)